// 文档 https://github.com/hooke007/MPV_lazy/wiki/4_GLSL


//!PARAM SHARP
//!TYPE DEFINE
//!DESC int
//!MINIMUM 0
//!MAXIMUM 1
0


//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!WIDTH LUMA.w 2 *
//!HEIGHT LUMA.h 2 *
//!COMPONENTS 1
//!BIND LUMA
//!SAVE LANCZOS3
//!DESC [AiUpscale_Fast_2x_LineArt_RT] lanczos3

#define FIX(c)		max(abs(c), 1e-5)
#define PI		3.141592653

vec3 weight3(float x)
{
    vec3 s = FIX(2.0 * PI * vec3(x - 1.5, x - 0.5, x + 0.5));
    return sin(s) * sin(s / 3.0) / (s * s);
}

float line_run(float ypos, vec3 xpos1, vec3 xpos2, vec3 linetaps1, vec3 linetaps2)
{
    return float(LUMA_tex(vec2(xpos1.r, ypos))) * linetaps1.r + float(LUMA_tex(vec2(xpos1.g, ypos))) * linetaps2.r + float(LUMA_tex(vec2(xpos1.b, ypos))) * linetaps1.g + float(LUMA_tex(vec2(xpos2.r, ypos))) * linetaps2.g + float(LUMA_tex(vec2(xpos2.g, ypos))) * linetaps1.b + float(LUMA_tex(vec2(xpos2.b, ypos))) * linetaps2.b;
}

vec4 hook()
{
    vec2 pos = LUMA_pos + LUMA_pt * 0.5;
    vec2 f = fract(pos / LUMA_pt);

    vec3 linetaps1 = weight3(0.5 - f.x * 0.5);
    vec3 linetaps2 = weight3(1.0 - f.x * 0.5);
    vec3 columntaps1 = weight3(0.5 - f.y * 0.5);
    vec3 columntaps2 = weight3(1.0 - f.y * 0.5);

    float suml = dot(linetaps1, vec3(1.0)) + dot(linetaps2, vec3(1.0));
    float sumc = dot(columntaps1, vec3(1.0)) + dot(columntaps2, vec3(1.0));
    linetaps1 /= suml;
    linetaps2 /= suml;
    columntaps1 /= sumc;
    columntaps2 /= sumc;

    vec2 xystart = (-2.5 - f) * LUMA_pt + pos;
    vec3 xpos1 = vec3(xystart.x, xystart.x + LUMA_pt.x, xystart.x + LUMA_pt.x * 2.0);
    vec3 xpos2 = vec3(xystart.x + LUMA_pt.x * 3.0, xystart.x + LUMA_pt.x * 4.0, xystart.x + LUMA_pt.x * 5.0);

    return vec4(line_run(xystart.y, xpos1, xpos2, linetaps1, linetaps2) * columntaps1.r + line_run(xystart.y + LUMA_pt.y, xpos1, xpos2, linetaps1, linetaps2) * columntaps2.r + line_run(xystart.y + LUMA_pt.y * 2.0 , xpos1, xpos2, linetaps1, linetaps2) * columntaps1.g + line_run(xystart.y + LUMA_pt.y * 3.0 , xpos1, xpos2, linetaps1, linetaps2) * columntaps2.g + line_run(xystart.y + LUMA_pt.y * 4.0 , xpos1, xpos2, linetaps1, linetaps2) * columntaps1.b + line_run(xystart.y + LUMA_pt.y * 5.0 , xpos1, xpos2, linetaps1, linetaps2) * columntaps2.b, 0, 0, 0);
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND LUMA
//!SAVE FEATURE1
//!DESC [AiUpscale_Fast_2x_LineArt_RT] feature map 1

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.539191305637360,0.277382731437683,-0.617810368537903,0.039647415280342);
res += vec4(0.006262045819312,0.017077706754208,0.004244436509907,0.010471122339368) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(-0.086801707744598,-0.004759592004120,0.047096889466047,0.060549758374691) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(-0.011660901829600,0.024818252772093,-0.046807538717985,-0.066063933074474) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(0.086639910936356,0.031454563140869,0.000464152428322,0.005171841010451) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(-0.013627504929900,-0.003443336114287,-0.021084843203425,-0.032106924802065) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(-0.026829907670617,-0.077761128544807,0.012456827796996,0.041256450116634) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(0.278277516365051,0.051522731781006,-0.002479495014995,-0.052208032459021) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(0.153036192059517,-0.013675984926522,-0.317380130290985,-0.033246561884880) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(-0.059866346418858,-0.123155377805233,0.044885564595461,0.016254570335150) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(-0.007731942925602,0.013712778687477,0.025388449430466,0.064197577536106) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.034470114856958,0.175483971834183,-0.058333676308393,-0.096010014414787) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(-0.113916203379631,-0.230543658137321,-0.029983339831233,0.785015225410461) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(0.570366263389587,0.000639406382106,0.215639650821686,-0.793384850025177) * float(LUMA_texOff(vec2(0,0)));
res += vec4(0.133340820670128,0.152556374669075,0.472402662038803,0.155792146921158) * float(LUMA_texOff(vec2(0,1)));
res += vec4(0.054132092744112,-0.008665294386446,0.026281936094165,-0.067448616027832) * float(LUMA_texOff(vec2(0,2)));
res += vec4(0.161798149347305,-0.100079782307148,0.001026283251122,0.054324012249708) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.168895050883293,-1.683550834655762,-0.131180286407471,0.095399886369705) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(0.155352160334587,-0.234387427568436,-0.133371666073799,0.000502487295307) * float(LUMA_texOff(vec2(1,0)));
res += vec4(0.121440351009369,-0.031455975025892,0.745539724826813,-0.143123462796211) * float(LUMA_texOff(vec2(1,1)));
res += vec4(0.000443953060312,0.030699886381626,-0.099280774593353,0.019527506083250) * float(LUMA_texOff(vec2(1,2)));
res += vec4(-0.009948460385203,-0.007026913575828,0.016002357006073,-0.012939351610839) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(0.003442508168519,-0.143174856901169,0.032952133566141,0.018689213320613) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(-0.032433968037367,0.131974428892136,0.002190307946876,-0.104551725089550) * float(LUMA_texOff(vec2(2,0)));
res += vec4(-0.005127062555403,-0.043060116469860,-0.176293730735779,0.084049373865128) * float(LUMA_texOff(vec2(2,1)));
res += vec4(-0.001307674101554,-0.000514422543347,0.104910127818584,-0.006930842529982) * float(LUMA_texOff(vec2(2,2)));
res = max(res, vec4(0.0)) + vec4(1.058173298835754,0.038373485207558,-0.004138693679124,0.325625121593475) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.044386569410563,-0.414953261613846,0.012682431377470,0.565710723400116);
res += vec4(-0.032844796776772,0.064278274774551,-0.030060157179832,0.030327733606100) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(0.028769601136446,-0.040574058890343,-0.011429971083999,0.005647864658386) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(0.001110261073336,-0.068451710045338,0.050079487264156,-0.044299282133579) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(0.017345296218991,-0.035842366516590,0.036804921925068,-0.010369060561061) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(-0.004639739636332,0.097881779074669,0.059552241116762,0.029530443251133) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(0.114276960492134,-0.068194262683392,0.084360755980015,-0.034059301018715) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(-0.123157225549221,-0.011157193221152,-0.071026980876923,0.137010082602501) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(-0.093394368886948,0.221264436841011,0.275030612945557,-0.009021383710206) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(-0.040832359343767,-0.114209398627281,0.007820614613593,0.040822573006153) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(-0.003811016911641,-0.028517628088593,0.018021751195192,-0.091827437281609) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.050239346921444,-0.044853791594505,-0.021481206640601,0.042003616690636) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(-0.635811090469360,0.067230530083179,-0.549835205078125,-0.049628570675850) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(0.386260956525803,0.689254939556122,0.072645068168640,-0.578385591506958) * float(LUMA_texOff(vec2(0,0)));
res += vec4(0.118433311581612,0.197181463241577,0.074348784983158,0.139305412769318) * float(LUMA_texOff(vec2(0,1)));
res += vec4(0.010864598676562,-0.057722564786673,-0.007727107498795,-0.036831025034189) * float(LUMA_texOff(vec2(0,2)));
res += vec4(-0.101622290909290,0.011749891564250,0.041862498968840,0.015173841267824) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.128929600119591,-0.050180058926344,0.184832736849785,-0.223148137331009) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(0.581569373607635,-0.032819170504808,0.435718983411789,-0.372341513633728) * float(LUMA_texOff(vec2(1,0)));
res += vec4(-0.033160213381052,-0.038363229483366,-0.382010340690613,-0.262588411569595) * float(LUMA_texOff(vec2(1,1)));
res += vec4(-0.030576335266232,0.011331440880895,0.071496322751045,0.055634234100580) * float(LUMA_texOff(vec2(1,2)));
res += vec4(0.033454388380051,0.015694996342063,-0.056613899767399,-0.036544416099787) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(0.025229062885046,0.022168803960085,-0.224700540304184,0.039065871387720) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(-0.059049874544144,-0.002830702811480,-0.286279708147049,-0.062412485480309) * float(LUMA_texOff(vec2(2,0)));
res += vec4(0.003612020984292,-0.012005289085209,0.119191713631153,0.130335479974747) * float(LUMA_texOff(vec2(2,1)));
res += vec4(0.000000230265869,0.003383733099326,0.021095469594002,0.052242390811443) * float(LUMA_texOff(vec2(2,2)));
res = max(res, vec4(0.0)) + vec4(-0.394167780876160,0.347105473279953,1.090684413909912,0.830385208129883) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND LUMA
//!SAVE FEATURE2
//!DESC [AiUpscale_Fast_2x_LineArt_RT] feature map 2

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.312106132507324,-0.019866446033120,0.023503053933382,0.041388545185328);
res += vec4(0.040336199104786,0.025533137843013,0.018938109278679,0.026842718943954) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(-0.051138892769814,-0.045314937829971,0.024322494864464,-0.046733256429434) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(-0.062752068042755,0.158131271600723,0.018128823488951,-0.024185813963413) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(0.081180758774281,0.029721025377512,-0.018943846225739,0.137283518910408) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(-0.031558159738779,-0.009394542314112,-0.091402538120747,-0.077975980937481) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(0.037992857396603,0.036705955862999,-0.003116278210655,-0.013497349806130) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(-0.236959919333458,0.000022441823603,-0.054450996220112,0.075343444943428) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(0.241317763924599,0.428404390811920,-0.023018125444651,0.166674822568893) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(-0.235230460762978,-0.067075401544571,-0.373220294713974,0.533369004726410) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(0.026717098429799,0.067622564733028,0.476012140512466,0.075860515236855) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(0.067869193851948,0.103160627186298,-0.032777018845081,-0.026644926518202) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(0.510445296764374,-0.032161038368940,0.029866855591536,-0.018969057127833) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(0.531620562076569,-0.065795868635178,-0.228498920798302,-0.652894973754883) * float(LUMA_texOff(vec2(0,0)));
res += vec4(-0.295637696981430,-0.052997533231974,-0.264509826898575,-0.208871752023697) * float(LUMA_texOff(vec2(0,1)));
res += vec4(-0.011213548481464,0.086542814970016,0.613577008247375,0.029332637786865) * float(LUMA_texOff(vec2(0,2)));
res += vec4(0.108126707375050,-0.025205181911588,0.032626330852509,-0.020322829484940) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.144593551754951,0.012110869400203,-0.043950818479061,0.024691518396139) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(-0.148947253823280,-0.657900273799896,0.138900816440582,0.033318258821964) * float(LUMA_texOff(vec2(1,0)));
res += vec4(0.018024016171694,0.168622165918350,0.000887042202521,-0.021186413243413) * float(LUMA_texOff(vec2(1,1)));
res += vec4(-0.022370425984263,-0.058895081281662,-0.169206365942955,0.005358071532100) * float(LUMA_texOff(vec2(1,2)));
res += vec4(-0.049466669559479,-0.028655944392085,0.001288246596232,0.012576470151544) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(0.056070607155561,0.029346616938710,-0.029511597007513,-0.000165130681125) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(0.060464970767498,-0.016084436327219,0.020493708550930,-0.060361780226231) * float(LUMA_texOff(vec2(2,0)));
res += vec4(-0.051773250102997,0.040376141667366,-0.026859689503908,0.041012506932020) * float(LUMA_texOff(vec2(2,1)));
res += vec4(-0.018275614827871,-0.071620538830757,0.027407577261329,-0.010338113643229) * float(LUMA_texOff(vec2(2,2)));
res = max(res, vec4(0.0)) + vec4(0.375031948089600,0.994763791561127,-0.451971352100372,-0.316970795392990) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.251683980226517,0.090648919343948,0.327211856842041,0.063424743711948);
res += vec4(0.025348586961627,0.055103883147240,0.010875904932618,0.007593422662467) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(0.095728218555450,0.037979859858751,-0.063939616084099,0.024987516924739) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(-0.223429530858994,0.207682758569717,0.046518668532372,-0.027425557374954) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(0.032204966992140,0.126607626676559,0.023547464981675,-0.035881482064724) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(0.006881518289447,0.032649833709002,0.007709917146713,0.010586459189653) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(-0.028559733182192,-0.021277595311403,0.024637352675200,-0.012908137403429) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(-0.020535796880722,-0.167225837707520,0.128262802958488,-0.016664488241076) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(0.306147336959839,-0.379315435886383,-0.045129332691431,-0.066490128636360) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(-0.097680911421776,-0.007247395813465,-0.373610377311707,0.079658105969429) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(-0.033975049853325,0.098841607570648,0.040269073098898,0.029033729806542) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.172963082790375,-0.028090685606003,0.046981427818537,-0.007042821496725) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(0.467921882867813,0.165023028850555,0.099813893437386,-0.014530866406858) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(-0.677199482917786,-0.553243815898895,-0.502088129520416,-0.483645230531693) * float(LUMA_texOff(vec2(0,0)));
res += vec4(-0.239746093750000,0.468387782573700,-0.850106477737427,-0.410534799098969) * float(LUMA_texOff(vec2(0,1)));
res += vec4(-0.153173133730888,-0.118077412247658,0.200807943940163,-0.036205444484949) * float(LUMA_texOff(vec2(0,2)));
res += vec4(0.167707100510597,-0.064520180225372,-0.006515565328300,-0.022629624232650) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.371533930301666,0.007414313964546,-0.018262866884470,0.135881930589676) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(0.625840425491333,-0.066217184066772,-0.099341325461864,0.441558569669724) * float(LUMA_texOff(vec2(1,0)));
res += vec4(-0.154490724205971,0.109590090811253,0.136503130197525,0.403918266296387) * float(LUMA_texOff(vec2(1,1)));
res += vec4(0.163414344191551,-0.020950358361006,-0.033431410789490,-0.064950689673424) * float(LUMA_texOff(vec2(1,2)));
res += vec4(-0.128206267952919,0.030968489125371,0.000510317098815,0.023178188130260) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(0.133861273527145,-0.017954217270017,-0.009532447904348,-0.121033631265163) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(-0.111783683300018,-0.077270358800888,0.032010287046432,0.122506245970726) * float(LUMA_texOff(vec2(2,0)));
res += vec4(-0.005919427610934,0.066146828234196,-0.010970195755363,-0.025135789066553) * float(LUMA_texOff(vec2(2,1)));
res += vec4(0.037814993411303,0.025063039734960,-0.057024449110031,0.050558894872665) * float(LUMA_texOff(vec2(2,2)));
res = max(res, vec4(0.0)) + vec4(1.003536701202393,-0.027080168947577,0.090467296540737,-0.442627280950546) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND LUMA
//!SAVE FEATURE3
//!DESC [AiUpscale_Fast_2x_LineArt_RT] feature map 3

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.140430271625519,-0.151781484484673,0.002198288450018,-0.618502914905548);
res += vec4(-0.000778346380685,-0.025163007900119,0.016709014773369,-0.009116593748331) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(0.101254187524319,0.008070921525359,0.017703840509057,-0.001410847529769) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(-0.126164063811302,0.100553020834923,0.025880344212055,-0.000857143662870) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(-0.048165235668421,-0.112631350755692,-0.064828954637051,-0.025638982653618) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(0.063150331377983,0.015671489760280,-0.032383393496275,0.014054712839425) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(-0.012219865806401,-0.007379897870123,-0.053074419498444,-0.025795659050345) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(-0.192441806197166,0.075875520706177,-0.228154674172401,0.028403438627720) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(0.141931533813477,-0.477644056081772,-0.115552321076393,0.032150067389011) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(0.293662875890732,0.082034200429916,0.286199241876602,0.023281220346689) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(-0.162600815296173,-0.018298115581274,0.001282571698539,-0.052039187401533) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.062358535826206,0.011324237100780,0.139481723308563,-0.023873966187239) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(-0.062495216727257,0.163302302360535,-0.386368066072464,0.048460125923157) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(-0.566209316253662,0.843068897724152,0.939581394195557,-0.138158932328224) * float(LUMA_texOff(vec2(0,0)));
res += vec4(0.434049129486084,0.030503699555993,-0.283933758735657,-0.078670307993889) * float(LUMA_texOff(vec2(0,1)));
res += vec4(0.125737354159355,0.058341525495052,0.035114429891109,0.047245912253857) * float(LUMA_texOff(vec2(0,2)));
res += vec4(0.033314540982246,-0.126795664429665,-0.055896598845720,0.014121511951089) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.146218731999397,-0.062778048217297,0.239930808544159,-0.068220548331738) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(0.017461983487010,-0.469472765922546,-0.214360088109970,0.937980532646179) * float(LUMA_texOff(vec2(1,0)));
res += vec4(0.084082700312138,0.062942802906036,-0.085939794778824,-0.022835515439510) * float(LUMA_texOff(vec2(1,1)));
res += vec4(-0.063653446733952,-0.047257546335459,-0.068397574126720,0.003096282016486) * float(LUMA_texOff(vec2(1,2)));
res += vec4(0.040143851190805,-0.017744265496731,-0.050145152956247,0.018266111612320) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(0.025199817493558,-0.010188092477620,-0.021982485428452,0.016723811626434) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(-0.097811207175255,0.087773002684116,0.064133569598198,0.052429065108299) * float(LUMA_texOff(vec2(2,0)));
res += vec4(0.022480500862002,-0.011875919066370,-0.059472430497408,-0.035158533602953) * float(LUMA_texOff(vec2(2,1)));
res += vec4(0.018616834655404,-0.027907434850931,0.007534605916589,0.013704584911466) * float(LUMA_texOff(vec2(2,2)));
res = max(res, vec4(0.0)) + vec4(0.324052333831787,1.169241786003113,0.857008039951324,-0.216048374772072) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.180295050144196,0.008225162513554,0.003694486338645,-0.735284209251404);
res += vec4(-0.059259433299303,0.003837673924863,-0.044086296111345,-0.014211059547961) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(0.115948237478733,0.038993977010250,0.025042835623026,-0.024534018710256) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(0.205397456884384,-0.128884285688400,0.016297327354550,0.015511121600866) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(0.242297559976578,0.129783287644386,0.065921753644943,-0.031926691532135) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(-0.124411970376968,0.021433997899294,-0.044491589069366,0.018264189362526) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(-0.013332923874259,0.117178827524185,0.005992945749313,0.051273170858622) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(0.143594875931740,-0.185438871383667,-0.008298489265144,0.168868973851204) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(-1.790086269378662,0.840206980705261,-0.234040662646294,-0.296247750520706) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(-0.096134334802628,-0.311442762613297,0.171443611383438,0.030098086223006) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(0.134217321872711,0.081633158028126,0.009401153773069,-0.000856610655319) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.013576854951680,-0.248275801539421,0.065465942025185,0.016372425481677) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(0.222076386213303,0.111082673072815,-0.200502574443817,1.048153042793274) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(-0.174410611391068,-0.662480294704437,0.706092953681946,-0.062518313527107) * float(LUMA_texOff(vec2(0,0)));
res += vec4(0.176681771874428,0.375028163194656,0.109569735825062,0.003859843825921) * float(LUMA_texOff(vec2(0,1)));
res += vec4(-0.075920589268208,-0.198580592870712,-0.137388423085213,-0.033452279865742) * float(LUMA_texOff(vec2(0,2)));
res += vec4(-0.003028843551874,-0.142152830958366,-0.005934241693467,0.012030073441565) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.120742157101631,0.309755295515060,0.122988797724247,0.080005139112473) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(0.113161183893681,-0.336591750383377,0.070506259799004,-0.053182587027550) * float(LUMA_texOff(vec2(1,0)));
res += vec4(-0.114150702953339,0.103356935083866,-0.537192165851593,-0.050019435584545) * float(LUMA_texOff(vec2(1,1)));
res += vec4(-0.004471064079553,0.053478021174669,0.031397148966789,-0.004059311933815) * float(LUMA_texOff(vec2(1,2)));
res += vec4(0.042906671762466,-0.026591088622808,0.000111790111987,-0.001960791880265) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(-0.010893062688410,0.010880609042943,-0.025829799473286,-0.009249301627278) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(0.036698885262012,0.032330576330423,-0.024271335452795,-0.019328877329826) * float(LUMA_texOff(vec2(2,0)));
res += vec4(0.015832379460335,0.093330778181553,-0.023447148501873,0.025746133178473) * float(LUMA_texOff(vec2(2,1)));
res += vec4(0.033095244318247,-0.071684241294861,0.051609765738249,0.002141347154975) * float(LUMA_texOff(vec2(2,2)));
res = max(res, vec4(0.0)) + vec4(-0.012527154758573,0.983374297618866,-0.419598370790482,-0.064917795360088) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND FEATURE1
//!BIND FEATURE2
//!BIND FEATURE3
//!SAVE MODEL1
//!DESC [AiUpscale_Fast_2x_LineArt_RT] mapping 1_1

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.002957660239190,0.011972633190453,0.013229725882411,0.021615564823151);
res += mat4(-0.112254031002522,0.165823429822922,0.181089237332344,-0.198745980858803,0.183872163295746,-0.091220997273922,-0.210799112915993,-0.046070709824562,0.305879086256027,0.027775468304753,0.083937741816044,-0.236305698752403,-0.123843312263489,-0.043496135622263,-0.255440026521683,-0.131761834025383) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(-0.110528200864792,0.307401746511459,-0.055956717580557,-0.017187023535371,0.112205177545547,-0.159421846270561,-0.224188029766083,-0.111940227448940,-0.042054146528244,-0.050874195992947,-0.269840776920319,-0.076599664986134,0.197111681103706,-0.171600162982941,-0.126084759831429,0.207640960812569) * FEATURE1_texOff(vec2(-1,0));
res += mat4(-0.073778577148914,0.090960919857025,-0.017604261636734,-0.115058280527592,-0.154956281185150,-0.027572557330132,-0.314918637275696,-0.037162616848946,-0.157695129513741,0.000493043160532,-0.047642119228840,0.052801519632339,-0.110646769404411,-0.035410601645708,0.116378933191299,0.193424656987190) * FEATURE1_texOff(vec2(-1,1));
res += mat4(-0.040564499795437,-0.077717378735542,0.327845960855484,0.079653084278107,-0.080815203487873,0.001233413699083,0.149902999401093,0.100287966430187,0.205780908465385,-0.348651558160782,0.067355327308178,-0.101618573069572,0.115720562636852,0.131444454193115,-0.177181780338287,-0.305465251207352) * FEATURE1_texOff(vec2(0,-1));
res += mat4(-0.085829690098763,-0.246166184544563,0.165936887264252,0.244385525584221,-0.083717748522758,0.307928234338760,-0.224773764610291,0.057522155344486,0.044152650982141,0.113419763743877,-0.029557252302766,0.294566422700882,-0.283173501491547,0.041950047016144,-0.453981667757034,-0.103877931833267) * FEATURE1_texOff(vec2(0,0));
res += mat4(0.273225814104080,0.039638336747885,-0.127720236778259,0.104253120720387,-0.388525456190109,0.328857481479645,-0.126442685723305,-0.125282362103462,0.018832230940461,-0.141414016485214,-0.144676432013512,0.032566320151091,-0.066100314259529,-0.207240477204323,0.184150725603104,0.113048449158669) * FEATURE1_texOff(vec2(0,1));
res += mat4(0.032227966934443,0.002777733607218,-0.271087437868118,-0.185545295476913,-0.002416731789708,0.107458882033825,-0.105333223938942,-0.047614436596632,-0.121707551181316,0.277779251337051,-0.055246945470572,-0.039141308516264,0.089895956218243,-0.102373152971268,0.277923077344894,0.105195328593254) * FEATURE1_texOff(vec2(1,-1));
res += mat4(0.050019156187773,-0.194760769605637,0.013506980612874,-0.024225361645222,-0.025786897167563,-0.134867459535599,0.090324513614178,-0.033855941146612,-0.347324818372726,0.083526335656643,-0.047242216765881,0.054305493831635,-0.123610101640224,0.124501675367355,-0.001587924314663,0.213930264115334) * FEATURE1_texOff(vec2(1,0));
res += mat4(0.127142593264580,-0.069201819598675,-0.083913110196590,0.050253614783287,-0.018665172159672,-0.025624571368098,-0.014941543340683,-0.166886135935783,0.001088185701519,-0.044840089976788,0.015793822705746,-0.283327162265778,0.170078828930855,0.115324176847935,0.138927593827248,-0.219030648469925) * FEATURE1_texOff(vec2(1,1));
res += mat4(0.096968099474907,-0.145278051495552,-0.072144895792007,-0.075279891490936,0.212567433714867,0.006790278479457,0.161200419068336,0.330280512571335,0.135594129562378,-0.062495574355125,0.034576673060656,-0.056010827422142,-0.049640785902739,-0.134780913591385,0.054817605763674,-0.014726433902979) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(0.147937297821045,0.288251101970673,-0.020563671365380,0.045299857854843,-0.280086547136307,0.397704631090164,-0.336161971092224,-0.279987215995789,0.072990134358406,0.042579501867294,0.142322033643723,0.095341451466084,0.103070080280304,-0.062399316579103,0.040890332311392,-0.127713963389397) * FEATURE2_texOff(vec2(-1,0));
res += mat4(-0.301756441593170,0.169593691825867,-0.213790267705917,-0.212578222155571,-0.112910300493240,-0.145171165466309,0.036780133843422,-0.153679654002190,-0.044400285929441,-0.046132922172546,0.049710232764482,0.072514995932579,-0.034468710422516,0.060144439339638,-0.018445223569870,0.138982549309731) * FEATURE2_texOff(vec2(-1,1));
res += mat4(-0.186558768153191,0.085533894598484,-0.335642516613007,0.108037076890469,-0.042533479630947,-0.071681112051010,-0.109393090009689,0.165136709809303,0.238792046904564,-0.143857315182686,-0.397548735141754,-0.524081468582153,-0.403322815895081,0.366524636745453,-0.178645968437195,0.012139176018536) * FEATURE2_texOff(vec2(0,-1));
res += mat4(-0.109316185116768,-0.254605084657669,0.482762366533279,0.078312210738659,-0.266174316406250,0.029097719117999,-0.116633184254169,-0.077634543180466,0.128163382411003,0.083645991981030,-0.041000202298164,-0.374908506870270,-0.198058754205704,0.151486039161682,0.013396474532783,0.218024790287018) * FEATURE2_texOff(vec2(0,0));
res += mat4(0.079419277608395,-0.152453809976578,0.329843163490295,0.142622038722038,0.143825009465218,-0.024795135483146,0.037182807922363,-0.372370600700378,0.092594109475613,0.066092990338802,-0.060042306780815,-0.229796379804611,-0.005103359464556,-0.123578384518623,-0.045738764107227,0.015431241132319) * FEATURE2_texOff(vec2(0,1));
res += mat4(-0.124882645905018,-0.072079271078110,-0.370127141475677,-0.069712862372398,0.055706795305014,0.071209952235222,0.356687545776367,-0.142942517995834,-0.247734159231186,0.007208976894617,0.192842215299606,0.005701521411538,0.081140801310539,0.014590107835829,-0.106635116040707,0.176342129707336) * FEATURE2_texOff(vec2(1,-1));
res += mat4(0.225930824875832,0.067905269563198,0.079844035208225,0.002930667484179,0.027952147647738,0.080066233873367,0.206335872411728,0.346279710531235,-0.056568842381239,-0.067829154431820,0.260798066854477,-0.029531199485064,0.027465879917145,0.217895194888115,-0.044200029224157,-0.051178302615881) * FEATURE2_texOff(vec2(1,0));
res += mat4(-0.034699346870184,-0.010986369103193,-0.188719809055328,-0.010136092081666,0.085539095103741,-0.028556235134602,0.074800536036491,0.005072129424661,-0.013613393530250,-0.015418259426951,0.075677216053009,0.187328413128853,0.024513438344002,-0.042104311287403,-0.142682328820229,0.074739374220371) * FEATURE2_texOff(vec2(1,1));
res += mat4(0.026088263839483,0.082380734384060,-0.078271903097630,-0.204407423734665,0.021392922848463,-0.044699583202600,0.064426504075527,-0.039561469107866,-0.139058455824852,0.077877148985863,-0.050670683383942,0.210551515221596,-0.521921515464783,-0.086187362670898,0.495282381772995,-0.314767897129059) * FEATURE3_texOff(vec2(-1,-1));
res += mat4(-0.063098184764385,-0.226816445589066,0.398323476314545,-0.163912042975426,-0.421829402446747,0.715150058269501,-0.196036174893379,-0.131705790758133,-0.397387862205505,0.581375360488892,0.055833533406258,0.109955340623856,0.302797853946686,-0.057389460504055,0.297048330307007,0.469483196735382) * FEATURE3_texOff(vec2(-1,0));
res += mat4(-0.148782417178154,-0.088595315814018,-0.081556499004364,0.466764867305756,-0.274089902639389,0.025252060964704,0.100684918463230,-0.235644698143005,0.037988070398569,-0.115146264433861,0.077372863888741,-0.010324176400900,0.573422133922577,0.096929669380188,-0.232220530509949,-0.049700040370226) * FEATURE3_texOff(vec2(-1,1));
res += mat4(0.079272545874119,0.112659849226475,-0.379138529300690,0.134934470057487,-0.114635266363621,0.078324005007744,0.273774564266205,0.165259107947350,-0.341013312339783,0.072541229426861,0.089260555803776,-0.237287953495979,0.045147635042667,0.121599823236465,-0.053625065833330,-0.232737109065056) * FEATURE3_texOff(vec2(0,-1));
res += mat4(0.018809854984283,0.261628627777100,-0.038486212491989,-0.090346954762936,0.939779818058014,-0.593747437000275,0.340830534696579,0.148642659187317,0.157385781407356,-0.352375656366348,-0.064486764371395,0.091297715902328,-0.172491192817688,0.016714507713914,-0.057450313121080,-0.130055949091911) * FEATURE3_texOff(vec2(0,0));
res += mat4(-0.149852871894836,-0.003476504702121,0.076089479029179,-0.132953181862831,0.056818492710590,-0.070827879011631,-0.144193008542061,-0.015768276527524,0.407723665237427,-0.132366254925728,-0.048138417303562,0.042731981724501,-0.061238367110491,-0.089133985340595,0.190615728497505,0.268866449594498) * FEATURE3_texOff(vec2(0,1));
res += mat4(0.033545061945915,-0.206349387764931,0.204887971282005,0.162873908877373,0.195876598358154,-0.067819930613041,-0.276634007692337,-0.061770245432854,-0.054306909441948,-0.159832447767258,0.250990837812424,-0.202758654952049,-0.127646774053574,-0.001760888611898,-0.026879962533712,0.215190231800079) * FEATURE3_texOff(vec2(1,-1));
res += mat4(0.049319200217724,0.040378719568253,-0.050086706876755,-0.232902020215988,-0.123260959982872,0.040343225002289,-0.100301414728165,-0.071631364524364,0.159222111105919,-0.109121859073639,-0.281396061182022,0.031852304935455,0.040874760597944,-0.148210272192955,-0.053250756114721,-0.020119674503803) * FEATURE3_texOff(vec2(1,0));
res += mat4(0.076387219130993,0.058315739035606,-0.071602679789066,-0.332454055547714,-0.181671917438507,0.014370807446539,-0.119201786816120,0.203869387507439,-0.041232269257307,0.044929560273886,-0.096830353140831,0.139167934656143,0.170399442315102,0.142391160130501,-0.073343686759472,-0.263586223125458) * FEATURE3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.187493816018105,-0.515969276428223,-0.249988809227943,-0.473946839570999) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.050851870328188,-0.102551281452179,0.003611556487158,0.164593473076820);
res += mat4(-0.073510065674782,-0.086919039487839,0.019876748323441,-0.053316835314035,0.075989745557308,0.030085062608123,0.021430045366287,-0.147232577204704,0.355099052190781,0.066965803503990,0.153985410928726,0.120081841945648,0.085923798382282,-0.352763831615448,0.059764701873064,-0.124893046915531) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(-0.195101857185364,-0.303103119134903,-0.025998611003160,-0.119097717106342,0.066441573202610,-0.052845504134893,0.545500576496124,-0.204428136348724,0.062151867896318,-0.004728688858449,-0.087611980736256,0.048537045717239,0.059418119490147,0.497235387563705,0.139928862452507,0.022352358326316) * FEATURE1_texOff(vec2(-1,0));
res += mat4(-0.082368925213814,-0.072865881025791,-0.281315386295319,-0.234823688864708,0.000858811428770,0.072543442249298,0.095246486365795,-0.041723601520061,0.252940803766251,-0.311912238597870,-0.300267338752747,-0.036711357533932,-0.136210411787033,0.298009693622589,-0.022131035104394,0.128861606121063) * FEATURE1_texOff(vec2(-1,1));
res += mat4(-0.166893154382706,-0.037880592048168,-0.083406329154968,-0.102423846721649,-0.393495351076126,0.042382061481476,-0.096037723124027,0.059551298618317,0.105177983641624,-0.101525411009789,-0.241477683186531,-0.054839193820953,-0.003318862058222,-0.306060910224915,-0.069545269012451,-0.407608658075333) * FEATURE1_texOff(vec2(0,-1));
res += mat4(0.128020405769348,-0.059163171797991,0.004367358051240,-0.078512109816074,-0.326190650463104,-0.431470930576324,0.014275480061769,0.265256583690643,0.274451255798340,0.070424094796181,0.322072625160217,-0.028304452076554,0.073503002524376,0.109913110733032,0.347009927034378,0.533685028553009) * FEATURE1_texOff(vec2(0,0));
res += mat4(0.141908109188080,-0.201691970229149,0.152433738112450,0.027807354927063,0.268783420324326,-0.212794318795204,-0.199333220720291,0.236895769834518,0.025787232443690,0.354963779449463,0.380452930927277,0.417802900075912,0.042226385325193,0.130236938595772,-0.164301350712776,0.199106901884079) * FEATURE1_texOff(vec2(0,1));
res += mat4(-0.035033758729696,0.115483917295933,0.004147357307374,-0.014797140844166,0.231742963194847,0.051265981048346,-0.032548587769270,0.036120429635048,-0.146903797984123,0.212651640176773,0.019345499575138,0.223524361848831,-0.072244398295879,0.048506904393435,-0.012572490610182,-0.139063924551010) * FEATURE1_texOff(vec2(1,-1));
res += mat4(-0.133426964282990,0.117189116775990,-0.118782706558704,-0.026624668389559,-0.093605823814869,0.082749657332897,-0.132460221648216,-0.104918271303177,0.264043897390366,-0.125317364931107,-0.147331267595291,-0.258740574121475,-0.189124599099159,-0.030146554112434,-0.140987589955330,0.183229222893715) * FEATURE1_texOff(vec2(1,0));
res += mat4(-0.138642907142639,-0.072530224919319,-0.138008534908295,-0.096865288913250,0.083557732403278,0.030042927712202,-0.051116190850735,-0.063836209475994,-0.111399747431278,-0.095878295600414,-0.000587576651014,-0.110811591148376,0.147852092981339,-0.146331533789635,-0.024860268458724,-0.156154736876488) * FEATURE1_texOff(vec2(1,1));
res += mat4(0.264288932085037,0.382230937480927,0.034096844494343,0.062026839703321,-0.202765733003616,-0.081298835575581,-0.051043856889009,-0.013343770988286,0.075235754251480,-0.156148955225945,-0.077455647289753,-0.286764204502106,0.096952281892300,-0.111251220107079,-0.246086776256561,-0.110799409449100) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(0.085759356617928,-0.031007628887892,-0.412036299705505,-0.125882014632225,-0.048412904143333,-0.100453265011311,0.130607068538666,-0.058800544589758,0.019193243235350,-0.044115122407675,-0.209227830171585,-0.254634320735931,0.015285614877939,0.073269978165627,-0.752129077911377,-0.063828416168690) * FEATURE2_texOff(vec2(-1,0));
res += mat4(0.143569707870483,-0.082636117935181,0.221268087625504,-0.071500949561596,-0.046450503170490,0.081594713032246,0.150200292468071,-0.092765331268311,0.111277982592583,0.013206236064434,0.067912273108959,-0.105262473225594,0.124111451208591,0.042854458093643,0.086186386644840,-0.120684400200844) * FEATURE2_texOff(vec2(-1,1));
res += mat4(0.051347259432077,0.123433679342270,-0.098222985863686,-0.101257070899010,-0.140508353710175,-0.209585517644882,0.067986257374287,-0.024717543274164,0.037233576178551,0.364173173904419,0.325807422399521,0.577530086040497,-0.001172037678771,0.144051894545555,0.073955886065960,0.190436512231827) * FEATURE2_texOff(vec2(0,-1));
res += mat4(-0.337568163871765,0.054423168301582,0.351399451494217,0.154265567660332,0.159985840320587,0.246404871344566,-0.260930567979813,-0.207157701253891,0.243000388145447,0.365346729755402,-0.050331387668848,0.489160090684891,0.179768234491348,0.069571301341057,0.124946475028992,0.014255974441767) * FEATURE2_texOff(vec2(0,0));
res += mat4(0.027219895273447,-0.184634596109390,-0.205491483211517,-0.198555380105972,-0.163063377141953,0.241301178932190,-0.150272384285927,-0.368578106164932,0.103514038026333,0.004298781976104,-0.088565178215504,0.011870637536049,0.284516423940659,0.081455558538437,-0.043542806059122,0.081833422183990) * FEATURE2_texOff(vec2(0,1));
res += mat4(0.084201283752918,0.010998989455402,-0.018925618380308,0.015876712277532,-0.162628948688507,-0.034809127449989,0.116766862571239,0.243069887161255,0.014104661531746,-0.217268422245979,-0.008017660118639,-0.153244033455849,0.020815167576075,0.081852190196514,0.038611698895693,-0.073307573795319) * FEATURE2_texOff(vec2(1,-1));
res += mat4(0.113635137677193,-0.213156297802925,0.104593098163605,0.106047481298447,-0.209170892834663,0.033980537205935,0.287325292825699,0.001189484260976,0.133360773324966,-0.340684652328491,0.082271344959736,-0.473031848669052,0.153641104698181,0.080173969268799,0.028487546369433,-0.172727927565575) * FEATURE2_texOff(vec2(1,0));
res += mat4(-0.016539487987757,0.102694548666477,0.076494611799717,-0.185540094971657,-0.096080511808395,-0.210638999938965,-0.019448280334473,-0.259149670600891,-0.092439495027065,-0.140084877610207,-0.003916648682207,-0.141899123787880,-0.079948388040066,-0.054050989449024,-0.008311841636896,-0.073836602270603) * FEATURE2_texOff(vec2(1,1));
res += mat4(0.127850055694580,0.095815196633339,-0.067118652164936,-0.009837418794632,-0.221073910593987,-0.369080126285553,0.165082663297653,-0.033895943313837,-0.396239310503006,0.240284696221352,0.204506888985634,-0.072646066546440,-0.190799295902252,-0.110642828047276,0.174345836043358,-0.045645695179701) * FEATURE3_texOff(vec2(-1,-1));
res += mat4(0.223860472440720,0.229459419846535,-0.291348457336426,0.054514680057764,0.011616628617048,0.589488089084625,-0.271487176418304,-0.134242087602615,0.167236149311066,0.186789929866791,0.367010056972504,-0.028729284182191,-0.203503996133804,-0.016849229112267,0.021520357578993,-0.013454270549119) * FEATURE3_texOff(vec2(-1,0));
res += mat4(0.034890774637461,0.065121494233608,0.045532986521721,-0.018654238432646,-0.210957437753677,0.271460294723511,-0.115570105612278,-0.100736767053604,0.132782831788063,-0.001920908456668,-0.114697635173798,0.001256818417460,0.069852933287621,-0.272491693496704,0.376220434904099,-0.020468460395932) * FEATURE3_texOff(vec2(-1,1));
res += mat4(-0.052039153873920,-0.266861826181412,-0.052400074899197,-0.119348056614399,0.019756568595767,-0.058556802570820,-0.058441676199436,-0.524775743484497,-0.552287757396698,-0.117479279637337,0.166868060827255,-0.004612542688847,-0.085417278110981,-0.065522998571396,-0.046987373381853,-0.217299669981003) * FEATURE3_texOff(vec2(0,-1));
res += mat4(0.461129605770111,0.531835317611694,0.523635864257813,-0.135061606764793,-0.260353386402130,0.037817720323801,0.593788087368011,0.587413191795349,-0.329899579286575,0.229732885956764,-0.216374263167381,-0.329594165086746,-0.068491511046886,0.100893892347813,-0.118804164230824,-0.266455054283142) * FEATURE3_texOff(vec2(0,0));
res += mat4(-0.090834841132164,-0.051138110458851,0.066345915198326,0.097498401999474,0.097987890243530,-0.135880380868912,0.133287340402603,-0.305325448513031,-0.014260301366448,-0.004499661736190,0.030524557456374,0.006457263603806,-0.060739766806364,-0.197329670190811,-0.349752038717270,0.057003833353519) * FEATURE3_texOff(vec2(0,1));
res += mat4(-0.198056221008301,-0.039892792701721,0.004979462362826,0.299104988574982,0.077787995338440,0.026398198679090,-0.025665182620287,0.254906177520752,0.096081234514713,-0.350007086992264,0.021937822923064,0.109636187553406,0.186077848076820,0.105334021151066,-0.043603349477053,-0.109461218118668) * FEATURE3_texOff(vec2(1,-1));
res += mat4(-0.801342725753784,0.365670055150986,-0.130440339446068,0.149851292371750,0.182554960250854,-0.457440286874771,-0.118618972599506,-0.336045205593109,-0.021491836756468,-0.097163088619709,-0.001645412761718,-0.041261281818151,-0.126680359244347,0.005067303311080,0.142050564289093,0.159692287445068) * FEATURE3_texOff(vec2(1,0));
res += mat4(0.253009617328644,0.055549606680870,-0.167663216590881,0.377120107412338,0.005641313269734,-0.008195503614843,0.145314782857895,0.135653838515282,-0.051380336284637,0.129821285605431,0.008252857252955,0.137497782707214,-0.075233794748783,0.041445240378380,0.016754021868110,0.203541025519371) * FEATURE3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.829067289829254,-0.186240315437317,-0.617832481861115,0.797805786132813) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND FEATURE1
//!BIND FEATURE2
//!BIND FEATURE3
//!SAVE MODEL2
//!DESC [AiUpscale_Fast_2x_LineArt_RT] mapping 1_2

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.056612953543663,0.114736534655094,0.078510470688343,0.016043638810515);
res += mat4(0.080838695168495,-0.155155196785927,0.094384692609310,0.158624172210693,-0.148072287440300,0.006692624650896,0.104813277721405,0.092655688524246,0.188456818461418,0.338132649660110,-0.185379520058632,0.005376487504691,0.165168985724449,-0.205116257071495,0.181712016463280,-0.262796908617020) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(-0.180878221988678,0.381310731172562,0.225049316883087,0.108070798218250,0.169022336602211,0.308379203081131,0.221367850899696,-0.144097074866295,-0.074208810925484,-0.397208124399185,0.362266659736633,-0.691964089870453,-0.020342011004686,0.107726752758026,-0.095470465719700,-0.292954564094543) * FEATURE1_texOff(vec2(-1,0));
res += mat4(0.067965753376484,-0.106762506067753,-0.141682446002960,-0.111710339784622,0.091591618955135,0.013073311187327,0.297376036643982,-0.184826523065567,0.007798267062753,0.270965605974197,-0.020798776298761,0.181355670094490,0.426657199859619,0.172387033700943,0.111814051866531,0.144161954522133) * FEATURE1_texOff(vec2(-1,1));
res += mat4(-0.091926991939545,-0.173579618334770,0.119254134595394,0.308573395013809,0.060541119426489,0.144848972558975,-0.081400148570538,0.093562118709087,0.321095496416092,0.081432402133942,0.118745498359203,-0.051908157765865,0.060057852417231,0.401015996932983,0.505171835422516,0.271288007497787) * FEATURE1_texOff(vec2(0,-1));
res += mat4(-0.329897165298462,0.183041393756866,-0.100090615451336,0.066819638013840,-0.195662945508957,0.098063342273235,-0.099243767559528,-0.167893916368484,0.197873756289482,-0.061308462172747,0.300770044326782,0.256017595529556,0.119602918624878,-0.804308652877808,-0.005842407234013,0.011628294363618) * FEATURE1_texOff(vec2(0,0));
res += mat4(0.042945839464664,-0.060964163392782,0.180558055639267,-0.044312477111816,-0.307969629764557,-0.107969760894775,-0.155049636960030,0.071099139750004,0.122300550341606,0.081179529428482,-0.045884832739830,0.140823781490326,-0.095791704952717,0.374296545982361,-0.457473337650299,0.319029241800308) * FEATURE1_texOff(vec2(0,1));
res += mat4(0.020950341597199,-0.128149017691612,0.083826877176762,-0.209273889660835,0.003045496530831,0.100279495120049,-0.196935340762138,-0.087262354791164,-0.144941255450249,-0.004793462809175,0.189076811075211,-0.100654758512974,0.221843391656876,0.005308968480676,0.059394013136625,-0.287435591220856) * FEATURE1_texOff(vec2(1,-1));
res += mat4(0.021929243579507,-0.082234963774681,-0.181561216711998,-0.124431341886520,-0.070807956159115,0.053774759173393,-0.192512989044189,-0.130820825695992,-0.021211648359895,0.077584095299244,0.125077426433563,-0.198013052344322,-0.178176969289780,-0.229242056608200,-0.105963259935379,0.223568633198738) * FEATURE1_texOff(vec2(1,0));
res += mat4(0.085239052772522,0.096195489168167,-0.149634435772896,-0.125851824879646,-0.089148111641407,0.022857468575239,-0.104430772364140,0.010075155645609,0.107903823256493,0.151371717453003,0.042642198503017,0.007194528821856,-0.130379363894463,-0.070414513349533,-0.109287291765213,-0.010056185536087) * FEATURE1_texOff(vec2(1,1));
res += mat4(-0.160877093672752,0.192608714103699,-0.014460958540440,-0.142696410417557,-0.143288403749466,0.063178814947605,0.092001765966415,-0.084602162241936,0.101911939680576,0.220085471868515,0.026322226971388,0.081639252603054,0.139849960803986,-0.107789985835552,0.094544745981693,-0.013590528629720) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(-0.067591778934002,-0.138908341526985,0.088273145258427,-0.110670477151871,0.202172398567200,-0.093117706477642,-0.048230335116386,-0.084095925092697,0.067109212279320,-0.097611449658871,0.126730859279633,0.023667110130191,0.089882619678974,0.042398508638144,0.100474871695042,0.028036847710609) * FEATURE2_texOff(vec2(-1,0));
res += mat4(0.092636443674564,0.159507229924202,0.058858882635832,0.122640959918499,-0.070555396378040,0.096777744591236,-0.107918508350849,0.306149095296860,0.038023307919502,0.022723553702235,0.082908391952515,0.116751171648502,-0.039356905966997,0.029145659878850,-0.076162636280060,-0.086633041501045) * FEATURE2_texOff(vec2(-1,1));
res += mat4(0.010858259163797,-0.218441769480705,-0.111924692988396,0.032332889735699,0.199123457074165,-0.009819133207202,-0.207677811384201,-0.364356637001038,-0.074703089892864,-0.177229836583138,-0.316466957330704,-0.279478728771210,-0.321376234292984,0.192562177777290,-0.097553893923759,-0.002882662229240) * FEATURE2_texOff(vec2(0,-1));
res += mat4(0.304894506931305,0.397738844156265,-0.097441986203194,0.334729641675949,0.072551198303699,0.237757891416550,0.201083913445473,0.001258321455680,0.019938118755817,-0.045838139951229,-0.199482053518295,-0.241224735975266,0.075448110699654,-0.164108186960220,0.298346966505051,-0.098848760128021) * FEATURE2_texOff(vec2(0,0));
res += mat4(0.055432863533497,0.224178224802017,-0.015333639457822,0.423377692699432,-0.000134282672661,-0.199537083506584,-0.044156420975924,-0.030596811324358,0.006496068090200,-0.026755873113871,-0.024449434131384,-0.062467955052853,-0.022283472120762,-0.016367079690099,-0.110901445150375,-0.021633639931679) * FEATURE2_texOff(vec2(0,1));
res += mat4(-0.116630718111992,0.051315907388926,-0.132983639836311,-0.351125657558441,-0.052295524626970,-0.094043388962746,-0.037596184760332,0.243576779961586,-0.094186604022980,-0.020704841241241,0.086224921047688,-0.738782644271851,-0.216304242610931,0.283697903156281,-0.306548178195953,0.092315167188644) * FEATURE2_texOff(vec2(1,-1));
res += mat4(-0.123094543814659,-0.180767059326172,0.186372593045235,-0.238073527812958,-0.279131978750229,0.094865299761295,-0.079764015972614,0.386207252740860,-0.106161832809448,0.028358953073621,-0.046333882957697,-0.062991812825203,-0.138479351997375,-0.038959234952927,-0.136680707335472,-0.407223701477051) * FEATURE2_texOff(vec2(1,0));
res += mat4(0.181029379367828,-0.248511612415314,0.138822332024574,-0.157791092991829,-0.000180035887752,0.030069202184677,0.187660112977028,-0.083072803914547,-0.031794209033251,-0.034182921051979,0.016259279102087,0.054769404232502,-0.008288016542792,0.012778753414750,0.065285302698612,-0.006116273812950) * FEATURE2_texOff(vec2(1,1));
res += mat4(-0.010866307653487,-0.026491295546293,-0.085038430988789,0.018943388015032,0.079062171280384,-0.023580856621265,0.009443344548345,-0.134811073541641,0.166368991136551,-0.086364544928074,0.180647239089012,-0.414110988378525,-0.783655226230621,0.137541219592094,-0.598704099655151,0.158525690436363) * FEATURE3_texOff(vec2(-1,-1));
res += mat4(-0.017175808548927,0.003828166518360,-0.143336296081543,-0.197358429431915,0.065742298960686,0.280675679445267,0.153968855738640,0.011244196444750,-0.184836104512215,-0.151482135057449,0.254401445388794,0.268265098333359,0.419636785984039,0.445195496082306,-0.446344524621964,0.527006864547729) * FEATURE3_texOff(vec2(-1,0));
res += mat4(0.048249397426844,0.003757388330996,0.053490363061428,-0.244514971971512,-0.111984737217426,0.041277728974819,-0.216771066188812,0.280222892761230,0.064218364655972,0.096882738173008,-0.154243692755699,0.354008942842484,0.161278665065765,-0.113013803958893,0.338155627250671,-0.278644919395447) * FEATURE3_texOff(vec2(-1,1));
res += mat4(-0.080881938338280,0.243619099259377,0.294809490442276,-0.034486562013626,0.130146965384483,-0.275744974613190,0.150239780545235,-0.130727276206017,0.008313787169755,-0.188253208994865,0.338010579347610,0.104846976697445,-0.389922380447388,-0.282132059335709,0.371016532182693,-0.020710455253720) * FEATURE3_texOff(vec2(0,-1));
res += mat4(-0.014226296916604,-0.107709921896458,-0.180659949779510,-0.222973510622978,-0.162594243884087,-0.054852768778801,-0.016040181741118,0.182268708944321,-0.379312247037888,0.192130342125893,-0.249259412288666,0.298263221979141,0.290588051080704,-0.198480561375618,0.582393705844879,-0.025377416983247) * FEATURE3_texOff(vec2(0,0));
res += mat4(0.096939623355865,0.188073053956032,0.027651662006974,0.095250368118286,-0.117518737912178,0.134390756487846,-0.105127610266209,-0.056329075247049,-0.071706168353558,0.092077963054180,-0.151469275355339,-0.168418109416962,0.417804807424545,-0.064573884010315,-0.114897720515728,-0.255363464355469) * FEATURE3_texOff(vec2(0,1));
res += mat4(-0.073699124157429,-0.013413499109447,0.106627963483334,-0.128750562667847,-0.121724732220173,-0.164633572101593,0.078153930604458,0.125465020537376,0.181676596403122,-0.001705650356598,0.151685550808907,-0.017308922484517,0.217980831861496,-0.078702308237553,-0.190857842564583,-0.064483314752579) * FEATURE3_texOff(vec2(1,-1));
res += mat4(-0.296244174242020,-0.408828586339951,0.184104740619659,0.175652816891670,0.427066624164581,0.149814248085022,0.273856639862061,-0.364333271980286,0.247892200946808,0.005845620762557,-0.250378429889679,0.096831880509853,-0.027837943285704,0.024630278348923,-0.160493984818459,0.011328502558172) * FEATURE3_texOff(vec2(1,0));
res += mat4(0.045123092830181,0.035405542701483,-0.107707537710667,0.376285821199417,0.040943518280983,-0.080090068280697,-0.114024884998798,-0.062135893851519,0.089808121323586,0.116816334426403,-0.152696669101715,-0.335263133049011,-0.134185895323753,0.042663026601076,0.070070080459118,0.154556453227997) * FEATURE3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.315799593925476,-0.041854195296764,0.755152523517609,-0.311556607484818) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.013499349355698,-0.408507972955704,0.103261530399323,0.064768686890602);
res += mat4(-0.119941689074039,-0.064992591738701,0.011317881755531,-0.045409847050905,-0.129403144121170,-0.174309685826302,0.084040105342865,-0.116449579596519,0.069767616689205,-0.125096857547760,-0.215875327587128,0.008434186689556,0.304563850164413,-0.182890415191650,0.135772243142128,-0.137627750635147) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(-0.210161209106445,0.140314638614655,0.193374022841454,0.135121196508408,-0.092059321701527,-0.225456833839417,0.041323225945234,-0.046562895178795,0.021988756954670,0.071791589260101,0.348118931055069,0.263722062110901,-0.126543283462524,-0.453950971364975,-0.122533671557903,-0.256115376949310) * FEATURE1_texOff(vec2(-1,0));
res += mat4(-0.193599522113800,-0.128171563148499,-0.125189989805222,0.231088787317276,-0.082539059221745,-0.066581785678864,0.019221637398005,-0.094086468219757,-0.036989882588387,0.243621170520782,0.146355509757996,0.093525268137455,-0.162227123975754,-0.302940160036087,-0.153922453522682,-0.059581395238638) * FEATURE1_texOff(vec2(-1,1));
res += mat4(0.028256366029382,0.063323631882668,-0.003100815229118,-0.037913486361504,0.542375564575195,0.001448252005503,0.156982138752937,0.053583059459925,-0.067597702145576,0.022389082238078,0.091623134911060,0.263801813125610,0.273500621318817,0.042668573558331,0.144570857286453,-0.040524799376726) * FEATURE1_texOff(vec2(0,-1));
res += mat4(0.124951899051666,-0.015037991106510,0.018382158130407,-0.265241593122482,0.272331357002258,0.218775525689125,0.150392860174179,0.370634853839874,0.113243281841278,0.039959784597158,0.017218852415681,-0.047537669539452,-0.449428558349609,-0.336444169282913,-0.302782684564590,-0.502057611942291) * FEATURE1_texOff(vec2(0,0));
res += mat4(-0.673640787601471,-0.282195538282394,0.053963441401720,0.061759587377310,-0.507230103015900,0.069514416158199,-0.011740565299988,-0.192252829670906,-0.260128796100616,-0.308319628238678,-0.146957293152809,-0.225306645035744,0.113612130284309,-0.230240315198898,0.066221892833710,-0.073179908096790) * FEATURE1_texOff(vec2(0,1));
res += mat4(-0.158193290233612,-0.018535742536187,-0.000936416967306,-0.024913866072893,-0.055546581745148,-0.177652299404144,-0.092445403337479,0.069000922143459,-0.146990358829498,-0.054395209997892,-0.186431050300598,-0.118256375193596,0.076024763286114,0.059913463890553,0.114301033318043,-0.257761478424072) * FEATURE1_texOff(vec2(1,-1));
res += mat4(-0.091636657714844,-0.028583781793714,-0.197806358337402,0.160260722041130,-0.002570324577391,-0.011158914305270,-0.193918883800507,0.377014219760895,0.276266843080521,0.072491168975830,0.244209036231041,0.107626974582672,-0.170331194996834,-0.063650846481323,0.071393422782421,0.284833073616028) * FEATURE1_texOff(vec2(1,0));
res += mat4(0.172132834792137,0.102234005928040,-0.098977461457253,0.115272499620914,-0.164421945810318,-0.123611174523830,-0.063205204904079,-0.047277156263590,-0.063695430755615,0.109525628387928,0.112558297812939,0.103391557931900,0.120717391371727,0.025760605931282,0.029923645779490,-0.047351721674204) * FEATURE1_texOff(vec2(1,1));
res += mat4(-0.155816569924355,-0.010258915834129,-0.066354259848595,-0.039242692291737,-0.082022838294506,-0.011107437312603,0.002704438520595,0.058760732412338,-0.050977684557438,0.023875486105680,0.278012633323669,-0.008509894832969,0.028929201886058,0.004073176532984,0.018693991005421,-0.070551641285419) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(0.199567154049873,0.565150260925293,0.489529877901077,0.546394705772400,-0.208755880594254,-0.074155695736408,0.201173409819603,-0.361741751432419,0.098738968372345,-0.181886807084084,0.059665091335773,-0.025798352435231,-0.198875486850739,-0.131548613309860,0.076583303511143,-0.131583586335182) * FEATURE2_texOff(vec2(-1,0));
res += mat4(-0.032031618058681,-0.037380013614893,0.036323688924313,0.004469042178243,0.100386470556259,-0.097819253802299,-0.139746770262718,-0.067744180560112,0.060201998800039,0.162129327654839,-0.065736979246140,-0.069464795291424,0.140319198369980,-0.099018163979053,-0.038143828511238,0.164996623992920) * FEATURE2_texOff(vec2(-1,1));
res += mat4(0.080616392195225,-0.189267098903656,-0.172752693295479,0.237951442599297,-0.013101682998240,0.046319793909788,0.167147830128670,0.096670135855675,-0.172701090574265,-0.514481604099274,-0.233467847108841,0.371144413948059,0.006411858834326,0.016059355810285,-0.048643440008163,0.042998291552067) * FEATURE2_texOff(vec2(0,-1));
res += mat4(-0.194845199584961,-0.428775042295456,-0.534682154655457,-0.511625647544861,-0.302980065345764,-0.003439891384915,-0.146333962678909,0.079409055411816,-0.282557845115662,-0.404849052429199,-0.285799056291580,0.007109354715794,-0.044639647006989,-0.248046368360519,-0.188893839716911,-0.252330034971237) * FEATURE2_texOff(vec2(0,0));
res += mat4(0.199854806065559,0.200871095061302,0.113110378384590,0.315529912710190,0.333930015563965,0.251658439636230,-0.395079970359802,0.157358184456825,0.280119568109512,-0.074723586440086,0.051940854638815,-0.014331983402371,-0.177947625517845,0.218695491552353,0.158148914575577,0.076746858656406) * FEATURE2_texOff(vec2(0,1));
res += mat4(-0.155732288956642,-0.183309704065323,-0.149724453687668,0.027074333280325,-0.210748642683029,0.055368781089783,-0.001019421149977,0.185801520943642,-0.092793308198452,-0.298333048820496,-0.073852948844433,-0.000598894665018,0.010828274302185,0.003656138665974,0.100777246057987,-0.063668221235275) * FEATURE2_texOff(vec2(1,-1));
res += mat4(0.122881032526493,0.168863415718079,0.199343398213387,0.429303735494614,-0.169628843665123,0.112754568457603,-0.161178633570671,0.064679257571697,-0.018737368285656,-0.234677091240883,-0.049237489700317,0.024661481380463,0.005970790050924,0.194701388478279,0.106346704065800,0.018542349338531) * FEATURE2_texOff(vec2(1,0));
res += mat4(0.035868685692549,-0.027668196707964,-0.168146416544914,-0.222683697938919,0.109344594180584,0.130073040723801,0.008258583955467,-0.044081065803766,0.035845573991537,0.079258158802986,-0.092506490647793,0.201700761914253,0.045323871076107,0.026287795975804,-0.046316184103489,0.090602926909924) * FEATURE2_texOff(vec2(1,1));
res += mat4(-0.023105310276151,0.171106100082397,-0.006701289676130,0.112722717225552,0.112716875970364,0.082100428640842,0.183101966977119,-0.105162888765335,-0.191368341445923,-0.296696186065674,0.099305100739002,-0.319890439510345,-0.049097169190645,-0.066103786230087,0.115884490311146,0.120064176619053) * FEATURE3_texOff(vec2(-1,-1));
res += mat4(0.058231398463249,-0.104511581361294,-0.084372155368328,0.075150303542614,-0.303837746381760,-0.257656365633011,-0.389185816049576,0.033654898405075,0.174775764346123,0.010085831396282,-0.292221158742905,0.128739580512047,-0.112903840839863,-0.141698062419891,0.030558791011572,0.057422477751970) * FEATURE3_texOff(vec2(-1,0));
res += mat4(0.047918345779181,0.182908505201340,0.041185408830643,0.098026849329472,0.148756399750710,0.151221856474876,-0.133274331688881,-0.090937204658985,-0.277292340993881,0.215428858995438,0.248847588896751,-0.052102871239185,0.122239790856838,-0.100037477910519,0.173809587955475,-0.114822790026665) * FEATURE3_texOff(vec2(-1,1));
res += mat4(0.254518926143646,0.195989206433296,0.317798614501953,-0.188440948724747,0.247924327850342,0.380017817020416,0.291545242071152,-0.060569457709789,0.251394301652908,0.116268835961819,0.191436305642128,-0.217831477522850,0.631277620792389,0.044906191527843,0.167045861482620,0.291690647602081) * FEATURE3_texOff(vec2(0,-1));
res += mat4(-0.425123363733292,-0.206750795245171,-0.057469844818115,-0.069391526281834,-0.145709469914436,-0.567235946655273,-0.023632416501641,-0.282861649990082,0.163952946662903,-0.039859090000391,-0.009088496677577,0.057703945785761,-0.282852739095688,-0.518719971179962,-0.181467726826668,0.182557284832001) * FEATURE3_texOff(vec2(0,0));
res += mat4(-0.195697829127312,-0.084038607776165,0.122425340116024,0.108773052692413,0.042104382067919,-0.049827713519335,-0.280216276645660,0.217199996113777,-0.121336445212364,-0.035995930433273,0.104014694690704,0.087212972342968,0.561244726181030,0.967728853225708,-0.041991695761681,0.202669903635979) * FEATURE3_texOff(vec2(0,1));
res += mat4(0.388868331909180,0.087988957762718,0.054247308522463,0.301188379526138,-0.079552516341209,-0.126305982470512,-0.115923672914505,-0.007073997519910,0.089446425437927,0.208112269639969,-0.071528531610966,-0.017166171222925,-0.046929795295000,0.024803129956126,-0.039315093308687,0.116837613284588) * FEATURE3_texOff(vec2(1,-1));
res += mat4(-0.254667311906815,-0.818361163139343,-0.332988739013672,0.267778396606445,0.371394127607346,0.466134160757065,0.328505456447601,0.535094738006592,-0.082596510648727,-0.049827273935080,-0.118986390531063,-0.189847752451897,-0.355345249176025,-0.518981456756592,-0.186276823282242,0.222781866788864) * FEATURE3_texOff(vec2(1,0));
res += mat4(-0.364199489355087,0.053353101015091,0.149773105978966,-0.240455195307732,-0.426764637231827,0.051712378859520,0.219301030039787,-0.066919542849064,0.007399346679449,-0.088819667696953,0.022826103493571,0.158573329448700,0.066090919077396,-0.182084754109383,-0.087979145348072,-0.183842018246651) * FEATURE3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.082527078688145,-0.214429065585136,0.870531022548676,0.897679388523102) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND FEATURE1
//!BIND FEATURE2
//!BIND FEATURE3
//!SAVE MODEL3
//!DESC [AiUpscale_Fast_2x_LineArt_RT] mapping 1_3

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.450182139873505,0.047509476542473,-0.335448712110519,-0.132635369896889);
res += mat4(-0.055632937699556,0.039427429437637,0.045369401574135,-0.029389383271337,-0.074676506221294,-0.110748462378979,-0.008237731643021,-0.026107292622328,-0.091069467365742,0.157629087567329,0.469115316867828,0.118954554200172,0.015026167035103,-0.145357280969620,0.066720984876156,0.038270022720098) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(-0.218118056654930,0.157714545726776,0.305320203304291,-0.062367081642151,-0.038780961185694,-0.172851875424385,-0.006224536802620,-0.141368150711060,0.172343611717224,-0.228598117828369,0.269246459007263,0.107784502208233,0.084489889442921,-0.174839675426483,0.004002972040325,-0.041343517601490) * FEATURE1_texOff(vec2(-1,0));
res += mat4(0.201235964894295,-0.118691198527813,-0.097475565969944,0.045941658318043,1.681796669960022,0.033889539539814,0.040816705673933,0.128402471542358,-0.112431421875954,0.217609211802483,-0.368746787309647,0.015042765066028,0.028762949630618,-0.034855239093304,0.026050955057144,0.238427385687828) * FEATURE1_texOff(vec2(-1,1));
res += mat4(-0.179184362292290,0.109823979437351,0.042318105697632,0.023034691810608,-0.149355277419090,0.201053485274315,0.184075385332108,0.104423277080059,-0.056226015090942,-0.072882682085037,0.408348649740219,0.075215280056000,0.159764319658279,0.108370736241341,0.301936089992523,0.277585864067078) * FEATURE1_texOff(vec2(0,-1));
res += mat4(-0.890524268150330,0.270558118820190,0.374112755060196,0.810579359531403,0.136146470904350,-0.268640428781509,-0.253990709781647,-0.322169840335846,0.324645757675171,-0.326280295848846,0.307685494422913,0.075792767107487,0.141266301274300,-0.159068048000336,-0.881311058998108,-0.356320023536682) * FEATURE1_texOff(vec2(0,0));
res += mat4(0.098514489829540,-0.543859660625458,0.176626726984978,-0.450735598802567,0.242409467697144,-0.007753529585898,-0.090208142995834,-0.172057867050171,-0.000923039740883,0.249327734112740,-0.460338294506073,0.112498961389065,-0.294468164443970,0.733480632305145,0.031617030501366,0.346612811088562) * FEATURE1_texOff(vec2(0,1));
res += mat4(0.100401543080807,0.060555178672075,-0.014845307916403,0.107200831174850,-0.012818587943912,-0.094596117734909,-0.010107548907399,0.061095140874386,0.064148299396038,-0.216853007674217,-0.231106013059616,-0.139880418777466,0.012076792307198,0.001599064213224,0.053707968443632,-0.102123551070690) * FEATURE1_texOff(vec2(1,-1));
res += mat4(-0.268702626228333,0.104399763047695,-0.177998423576355,0.015863306820393,0.002088425913826,-0.015093922615051,0.099552549421787,0.089191570878029,0.025178059935570,0.203718662261963,-0.329015284776688,-0.044309627264738,0.110978603363037,-0.085728198289871,0.353006362915039,-0.169990137219429) * FEATURE1_texOff(vec2(1,0));
res += mat4(-0.059410419315100,-0.105654083192348,0.206420481204987,0.080015629529953,-0.089454039931297,0.075025863945484,0.376542568206787,-0.014017250388861,0.061914224177599,0.192938983440399,-0.180463194847107,0.070608042180538,0.116564340889454,-0.089075170457363,0.077703848481178,0.055150486528873) * FEATURE1_texOff(vec2(1,1));
res += mat4(0.061456546187401,0.061903480440378,-0.101344607770443,-0.064396671950817,-0.010328360833228,0.003502083476633,0.198582723736763,0.124611787497997,0.001361083821394,0.195897027850151,0.070652432739735,-0.003860245924443,0.143743798136711,0.092420227825642,0.017186148092151,0.152350202202797) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(-0.059983100742102,-0.193350717425346,-0.251723170280457,-0.104765094816685,0.242873936891556,-0.261496603488922,-0.120030939579010,-0.466954678297043,0.076287373900414,-0.038217775523663,0.139800593256950,0.006552409380674,0.101390175521374,-0.019791366532445,0.045422054827213,0.083477593958378) * FEATURE2_texOff(vec2(-1,0));
res += mat4(0.060347542166710,-0.065523333847523,-0.358573734760284,-0.161699458956718,-0.073003090918064,0.198477938771248,0.037300799041986,0.002168159466237,0.084898151457310,0.042480800300837,-0.045389585196972,-0.000320523540722,0.085269883275032,-0.044937193393707,-0.024264022707939,0.018878405913711) * FEATURE2_texOff(vec2(-1,1));
res += mat4(-0.008610933087766,-0.070081919431686,-0.009945530444384,-0.142291754484177,0.131504803895950,-0.030950153246522,-0.115158669650555,-0.014336089603603,-0.037303999066353,-0.440782904624939,-0.082733944058418,-0.037983447313309,-0.007579400669783,-0.078236959874630,-0.136018499732018,0.033349581062794) * FEATURE2_texOff(vec2(0,-1));
res += mat4(-0.133529350161552,0.024495242163539,0.211953982710838,0.226705551147461,0.086655542254448,0.149602591991425,-0.119157984852791,-0.117991857230663,0.035858985036612,-0.312514454126358,-0.064005956053734,0.113205850124359,-0.043650019913912,-0.081534445285797,-0.645661771297455,0.043163787573576) * FEATURE2_texOff(vec2(0,0));
res += mat4(-0.269124656915665,0.359464347362518,0.358212292194366,0.071531303226948,-0.019259683787823,-0.051146294921637,-0.108653657138348,0.039536215364933,0.036095105111599,-0.036788001656532,0.022298917174339,0.002842410700396,-0.001000107382424,0.158072158694267,0.040227137506008,0.034105006605387) * FEATURE2_texOff(vec2(0,1));
res += mat4(0.072726935148239,-0.118952356278896,-0.102097623050213,-0.067796453833580,0.092429555952549,-0.014758740551770,-0.030616665259004,-0.149564281105995,-0.032302588224411,-0.243341907858849,-0.140687838196754,-0.027141075581312,-0.191930875182152,0.115072980523109,0.172128960490227,-0.036471981555223) * FEATURE2_texOff(vec2(1,-1));
res += mat4(0.093298532068729,0.053693044930696,0.136126920580864,0.168814107775688,-0.274326682090759,0.286399543285370,0.161928236484528,0.355254262685776,0.022089663892984,-0.003176954807714,0.276453107595444,0.040141306817532,-0.050133571028709,-0.412945002317429,0.166592225432396,0.003744662040845) * FEATURE2_texOff(vec2(1,0));
res += mat4(0.022455483675003,0.020879864692688,-0.154702574014664,0.076535880565643,0.004470805637538,-0.249201402068138,0.008918469771743,-0.056900322437286,0.040065854787827,0.020583324134350,-0.041797392070293,-0.030797559767962,0.067368373274803,0.182780101895332,0.030663006007671,0.109133563935757) * FEATURE2_texOff(vec2(1,1));
res += mat4(-0.099336497485638,-0.027806865051389,0.071189664304256,0.056987717747688,0.070146262645721,0.033015910536051,0.052907429635525,-0.133326023817062,-0.082511335611343,-0.099292248487473,0.008150774985552,0.125899627804756,-0.035806581377983,-0.129144161939621,-0.482913076877594,-0.260634392499924) * FEATURE3_texOff(vec2(-1,-1));
res += mat4(-0.118853628635406,0.134319305419922,-0.057326421141624,-0.032634936273098,0.256719529628754,0.003859187010676,0.045456495136023,-0.492932498455048,0.149148836731911,-0.212561577558517,0.092835567891598,-0.062994934618473,-0.045411475002766,0.124650739133358,0.972705185413361,0.260449349880219) * FEATURE3_texOff(vec2(-1,0));
res += mat4(-0.349462509155273,0.150710582733154,-0.055812556296587,0.062995225191116,0.034778811037540,0.135513439774513,0.006565207615495,0.071868211030960,0.030655182898045,0.176878809928894,0.166774496436119,-0.105117365717888,-0.333229124546051,0.120956458151340,0.308322995901108,-0.110894739627838) * FEATURE3_texOff(vec2(-1,1));
res += mat4(-0.014421559870243,-0.001078887260519,0.272655516862869,0.225865051150322,-0.104431755840778,0.101013258099556,-0.013597015291452,-0.039110653102398,0.331608653068542,0.110248506069183,-0.194699004292488,-0.267877280712128,-0.068640954792500,-0.128697752952576,-0.260774850845337,0.024669978767633) * FEATURE3_texOff(vec2(0,-1));
res += mat4(0.308018177747726,-0.891866922378540,-0.425037205219269,-0.045212406665087,-0.436433941125870,0.061743084341288,0.445690035820007,0.839050948619843,-0.755663931369781,0.624450981616974,0.181177616119385,0.531529247760773,-0.041395284235477,0.003273219102994,-0.164042875170708,-0.127325937151909) * FEATURE3_texOff(vec2(0,0));
res += mat4(-0.006272019818425,0.177413910627365,0.191916391253471,-0.103796854615211,-0.194232493638992,-0.192456647753716,0.182986378669739,0.011035920120776,0.216621920466423,-0.681608796119690,-0.064461685717106,-0.418012201786041,-0.080107450485229,0.237104952335358,0.040751580148935,0.070156708359718) * FEATURE3_texOff(vec2(0,1));
res += mat4(-0.071238324046135,0.231029838323593,0.175146743655205,0.067494198679924,-0.097947135567665,-0.039300993084908,0.124895758926868,0.158793851733208,-0.098283462226391,0.181902900338173,-0.025112474337220,0.114042527973652,0.046721067279577,0.025224754586816,-0.003449913347140,0.050851766020060) * FEATURE3_texOff(vec2(1,-1));
res += mat4(0.070306845009327,-0.029204506427050,-0.049933589994907,0.009372157044709,0.400749653577805,-0.300063252449036,-0.333438366651535,-0.488494038581848,-0.049898087978363,0.086121097207069,-0.084704242646694,-0.123355977237225,-0.101012133061886,0.158593729138374,-0.162264034152031,0.158605903387070) * FEATURE3_texOff(vec2(1,0));
res += mat4(0.189471602439880,-0.067170277237892,-0.201062425971031,-0.126498907804489,0.024818906560540,0.293439686298370,-0.136734113097191,0.032687775790691,-0.043819751590490,-0.131944298744202,-0.058967597782612,0.069239705801010,-0.154630586504936,-0.183460280299187,-0.171323642134666,0.102134235203266) * FEATURE3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.000992948538624,-0.324742972850800,-0.047679647803307,0.898422420024872) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.025920266285539,-0.026994192972779,0.028944466263056,0.002425494370982);
res += mat4(-0.033962193876505,0.089324712753296,0.101963728666306,0.076429687440395,0.084152787923813,0.228351652622223,-0.004151211585850,-0.043562490493059,0.148803010582924,0.010151598602533,-0.056576851755381,-0.020997485145926,-0.138328582048416,-0.005188702140003,0.091702476143837,-0.075491197407246) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(-0.169034719467163,0.466597616672516,0.120968177914619,0.106332831084728,-0.015577076002955,-0.051634933799505,0.010456486605108,-0.054854124784470,0.077966228127480,-0.018624311313033,-0.017951484769583,0.329324454069138,0.321117281913757,0.052647285163403,-0.244781568646431,0.047307360917330) * FEATURE1_texOff(vec2(-1,0));
res += mat4(0.034973397850990,-0.070526778697968,-0.124220028519630,-0.235863894224167,0.309006601572037,-0.007415379397571,-0.108943104743958,0.020752241834998,0.004052679054439,-0.125113278627396,0.112794578075409,0.034065648913383,-0.165796473622322,0.009795790538192,0.073853306472301,-0.214924275875092) * FEATURE1_texOff(vec2(-1,1));
res += mat4(-0.197572141885757,0.024440076202154,0.175409153103828,0.031444601714611,0.057689629495144,-0.492727905511856,-0.042068317532539,0.127375110983849,0.170047581195831,-0.036084525287151,0.100401513278484,0.433437854051590,-0.171089053153992,0.363645166158676,-0.077090106904507,0.076530337333679) * FEATURE1_texOff(vec2(0,-1));
res += mat4(-0.184550806879997,0.581547737121582,0.241491034626961,-0.346120327711105,-0.685299515724182,0.308627337217331,0.400440394878387,0.164955556392670,-0.154606416821480,0.261292159557343,-0.295165002346039,-0.392475605010986,-0.245881035923958,-0.169393122196198,-0.317524939775467,-0.387991845607758) * FEATURE1_texOff(vec2(0,0));
res += mat4(-0.212202891707420,-0.226444438099861,-0.369147449731827,-0.208963200449944,-0.029163058847189,0.084946453571320,-0.248097911477089,0.039431866258383,-0.090687096118927,0.012395822443068,-0.213405176997185,-0.437846451997757,0.171419337391853,-0.197519168257713,0.292205095291138,0.002395059913397) * FEATURE1_texOff(vec2(0,1));
res += mat4(-0.080206289887428,0.025871654972434,-0.020894110202789,-0.063485592603683,0.133307620882988,-0.079054608941078,-0.095314867794514,-0.188545420765877,0.355982720851898,-0.113044627010822,-0.013820841908455,-0.301574647426605,0.308970510959625,0.065476328134537,0.086595699191093,-0.167387560009956) * FEATURE1_texOff(vec2(1,-1));
res += mat4(0.187936663627625,-0.180616617202759,0.124905392527580,0.014016272500157,-0.012130226939917,-0.125913307070732,0.399435728788376,-0.149357467889786,-0.214834436774254,-0.060764122754335,0.160751402378082,0.299647867679596,-0.342130035161972,-0.148913726210594,0.026528166607022,0.382134616374969) * FEATURE1_texOff(vec2(1,0));
res += mat4(-0.295823454856873,-0.047415539622307,0.004121130332351,0.378502070903778,0.117892973124981,0.041839104145765,-0.128101333975792,-0.092822156846523,-0.233796358108521,0.081405609846115,0.008065718226135,0.127948850393295,0.117405056953430,-0.021016538143158,0.147737964987755,0.249413564801216) * FEATURE1_texOff(vec2(1,1));
res += mat4(0.569557726383209,-0.093280479311943,0.367908000946045,0.410522311925888,-0.113527566194534,0.066645853221416,0.063525862991810,-0.071776911616325,0.260543137788773,0.186629503965378,0.165440201759338,0.217990487813950,0.023891115561128,-0.292624771595001,-0.004707253072411,-0.052851498126984) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(0.214685216546059,0.377341628074646,0.292142540216446,0.171578884124756,-0.111819960176945,-0.013123186305165,-0.132813259959221,0.009688007645309,0.050947621464729,-0.056758925318718,-0.062039058655500,0.090242177248001,0.231916844844818,0.077412366867065,0.056492619216442,-0.250114023685455) * FEATURE2_texOff(vec2(-1,0));
res += mat4(-0.343205779790878,-0.093666404485703,-0.133867666125298,-0.182092398405075,-0.084281928837299,-0.093356378376484,-0.119764454662800,-0.014833735302091,0.094911910593510,0.008193546906114,0.123815812170506,0.105927377939224,-0.149295359849930,0.021427465602756,0.043551363050938,0.094720035791397) * FEATURE2_texOff(vec2(-1,1));
res += mat4(-0.163912743330002,-0.073834642767906,-0.062605582177639,0.120421707630157,-0.000749693135731,0.298512011766434,0.193003118038177,0.040830388665199,-0.259681493043900,-0.197701796889305,-0.303351432085037,-0.428409665822983,0.101194836199284,0.121574871242046,-0.124570183455944,-0.320075690746307) * FEATURE2_texOff(vec2(0,-1));
res += mat4(0.005576880183071,-0.504981637001038,-0.513909101486206,-0.610828518867493,0.158574372529984,-0.185077950358391,-0.130892097949982,0.052625365555286,0.027877239510417,-0.430156081914902,-0.069937735795975,-0.026051232591271,0.187705919146538,-0.045068204402924,-0.248752847313881,-0.811182260513306) * FEATURE2_texOff(vec2(0,0));
res += mat4(-0.014575188979506,0.189986541867256,0.140242427587509,0.200519964098930,0.211805224418640,0.200539186596870,0.120906859636307,0.091558925807476,0.119192242622375,0.030685484409332,0.021020831540227,-0.074371144175529,0.121988616883755,0.026286695152521,0.052968725562096,0.292588144540787) * FEATURE2_texOff(vec2(0,1));
res += mat4(-0.065836600959301,-0.049148593097925,-0.018233666196465,-0.085862636566162,-0.495592445135117,-0.024218870326877,-0.020377140492201,-0.231697529554367,-0.101330094039440,0.202410668134689,0.043319277465343,-0.096440374851227,-0.087866105139256,0.006100524682552,-0.012116204947233,-0.007947258651257) * FEATURE2_texOff(vec2(1,-1));
res += mat4(-0.469950914382935,0.154550313949585,-0.198525577783585,0.079360619187355,-0.117278188467026,-0.136878103017807,-0.162064343690872,-0.434581816196442,-0.036847341805696,0.063802815973759,0.034499455243349,0.136346668004990,0.036038205027580,-0.069679170846939,0.041821267455816,0.068958289921284) * FEATURE2_texOff(vec2(1,0));
res += mat4(0.480520188808441,0.070799671113491,0.042927253991365,0.077665328979492,0.201352626085281,-0.091247692704201,-0.055763598531485,0.097224570810795,0.012082439847291,0.082457244396210,0.038375310599804,0.125010833144188,-0.089304566383362,0.068892799317837,0.064680203795433,0.152318999171257) * FEATURE2_texOff(vec2(1,1));
res += mat4(-0.015130254440010,0.009383471682668,0.148792207241058,0.023800883442163,-0.417394667863846,-0.003815043950453,0.078636072576046,-0.060020178556442,-0.302954316139221,-0.270660728216171,0.268737107515335,0.075515978038311,-0.111065223813057,-0.014586002565920,-0.031073631718755,0.046770911663771) * FEATURE3_texOff(vec2(-1,-1));
res += mat4(0.060685314238071,-0.051789607852697,0.063355147838593,0.025947563350201,0.249065145850182,-0.160334855318069,-0.117432728409767,-0.103182926774025,0.273467868566513,0.076953314244747,0.156292796134949,0.487802833318710,0.048457048833370,-0.327120810747147,-0.128431603312492,-0.026098463684320) * FEATURE3_texOff(vec2(-1,0));
res += mat4(0.146652281284332,0.020304163917899,-0.033308852463961,-0.086430847644806,0.090689145028591,0.177391722798347,0.161059007048607,-0.127909958362579,-0.048385113477707,0.024056464433670,-0.111121945083141,0.028170915320516,-0.127001732587814,0.126944765448570,0.139816895127296,0.118356399238110) * FEATURE3_texOff(vec2(-1,1));
res += mat4(0.105143502354622,0.130014359951019,-0.310849040746689,0.099534712731838,-0.188423246145248,0.332484394311905,-0.082143180072308,-0.155380517244339,0.052891388535500,-0.272815942764282,-0.020635256543756,0.413321197032928,-0.041151545941830,0.403329819440842,-0.164258003234863,-0.065049469470978) * FEATURE3_texOff(vec2(0,-1));
res += mat4(-0.048426676541567,-0.245556116104126,-0.265540510416031,0.011508070863783,-0.175881564617157,-0.446105271577835,-0.476154237985611,0.013186843134463,-0.184969916939735,0.050312981009483,0.143851250410080,0.186486065387726,0.346134334802628,-0.738537311553955,-0.229673206806183,0.114231906831264) * FEATURE3_texOff(vec2(0,0));
res += mat4(-0.073313191533089,0.174640432000160,0.137963116168976,-0.179416254162788,0.373266249895096,0.059085458517075,0.107767194509506,0.213847756385803,-0.195982873439789,-0.105143919587135,-0.163233578205109,-0.176485195755959,-0.366674780845642,0.112443313002586,0.569130778312683,0.126215115189552) * FEATURE3_texOff(vec2(0,1));
res += mat4(-0.005498838610947,-0.473629862070084,-0.424178749322891,-0.325134843587875,0.361001461744308,-0.255919694900513,0.018609467893839,0.044858466833830,-0.249449819326401,0.202659428119659,-0.103857077658176,0.014222884550691,0.020135484635830,0.071999177336693,0.053325172513723,-0.049511570483446) * FEATURE3_texOff(vec2(1,-1));
res += mat4(-0.755223453044891,-0.292242676019669,0.013292013667524,0.162382230162621,-0.215519309043884,0.328295588493347,0.278424978256226,0.281369477510452,0.450314402580261,0.089815430343151,-0.058944631367922,-0.413323104381561,-0.350753396749496,0.289575874805450,-0.063482232391834,0.348415344953537) * FEATURE3_texOff(vec2(1,0));
res += mat4(-0.112731069326401,0.620200157165527,0.221391603350639,0.087062194943428,-0.185216411948204,0.062903732061386,-0.183304026722908,-0.136873245239258,-0.206989973783493,-0.016983797773719,-0.049363650381565,-0.149547159671783,0.232702955603600,-0.097283162176609,0.294603109359741,-0.692845225334167) * FEATURE3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.371796905994415,-0.492503941059113,-0.224001780152321,-0.437830567359924) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND MODEL1
//!BIND MODEL2
//!BIND MODEL3
//!SAVE MODEL4
//!DESC [AiUpscale_Fast_2x_LineArt_RT] mapping 2_1

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.071492604911327,-0.038024362176657,-0.023605292662978,0.030104216188192);
res += mat4(0.007063187193125,-0.036826569586992,0.101117797195911,0.111741691827774,-0.036979969590902,-0.056390441954136,-0.011478073894978,-0.249099239706993,-0.042296141386032,-0.150220111012459,-0.190821543335915,0.161678820848465,-0.065883122384548,0.216297641396523,-0.092014692723751,-0.141117379069328) * MODEL1_texOff(vec2(-1,-1));
res += mat4(0.211528211832047,-0.151519775390625,0.215704396367073,-0.181394353508949,-0.158835813403130,0.015756368637085,0.037927549332380,-0.432070314884186,0.003143898677081,-0.126802548766136,0.014479881152511,0.707564830780029,0.098152860999107,0.141871705651283,-0.405750870704651,-0.010525853373110) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.101071283221245,-0.037399522960186,0.122761145234108,0.201618194580078,-0.024218782782555,0.035784374922514,0.113189272582531,-0.097835324704647,-0.296431213617325,-0.148239687085152,0.149394825100899,0.089710377156734,0.055780809372663,0.103054136037827,-0.229647129774094,-0.116632781922817) * MODEL1_texOff(vec2(-1,1));
res += mat4(0.063373968005180,-0.089331559836864,0.044209893792868,-0.332187503576279,0.079082690179348,-0.104509867727757,0.055797111243010,-0.121522709727287,-0.048827458173037,0.180910915136337,0.038252446800470,0.080101072788239,0.138061493635178,0.060105241835117,-0.205905556678772,0.067309387028217) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.038368903100491,-0.110777102410793,0.115505494177341,-0.703651368618011,0.370385020971298,-0.172225102782249,-0.000854629150126,-0.053518120199442,0.033840119838715,0.371905356645584,-0.405657559633255,0.000192409264855,0.164225086569786,-0.217675149440765,-0.556572437286377,0.007983179762959) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.019848413765430,-0.167228162288666,0.172421962022781,0.111205019056797,0.019936500117183,0.076211318373680,0.024792337790132,0.019988959655166,-0.319647431373596,-0.064216770231724,0.013706387951970,0.211267217993736,0.181105330586433,-0.029711196199059,-0.419444859027863,0.103464759886265) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.080579899251461,0.042359162122011,0.267920941114426,-0.042336948215961,0.023758785799146,-0.234003379940987,-0.169694915413857,-0.004982304293662,0.035114858299494,0.048845510929823,-0.174111261963844,0.031894341111183,0.149626180529594,0.155873656272888,-0.190774783492088,-0.059804402291775) * MODEL1_texOff(vec2(1,-1));
res += mat4(0.014564231038094,0.075686603784561,0.310834437608719,-0.210127472877502,0.238960281014442,-0.388179808855057,0.181845545768738,0.157356992363930,0.059371825307608,0.020278785377741,-0.225230708718300,0.215424433350563,-0.031236700713634,0.191748604178429,-0.236789748072624,-0.052025120705366) * MODEL1_texOff(vec2(1,0));
res += mat4(-0.085514724254608,-0.114542491734028,0.066051125526428,-0.061923515051603,0.181637451052666,0.026028156280518,0.095798686146736,0.209404721856117,0.038676623255014,-0.116002157330513,-0.152904331684113,0.114567175507545,0.064316660165787,0.069571360945702,-0.266233444213867,0.004101567901671) * MODEL1_texOff(vec2(1,1));
res += mat4(0.075244590640068,-0.303223639726639,-0.073644518852234,-0.144394889473915,0.226916313171387,0.141695171594620,-0.046064980328083,0.150731906294823,0.224063560366631,0.137740090489388,0.117838546633720,0.381967931985855,-0.081481717526913,-0.007629034109414,0.436543643474579,0.089365422725677) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.412969350814819,0.051365669816732,0.152121350169182,-0.309254527091980,0.131601616740227,-0.104824118316174,0.040245864540339,0.068550445139408,-0.141664162278175,0.350279927253723,-0.125046476721764,-0.043665818870068,-0.230215013027191,0.131239697337151,0.158734962344170,-0.081865102052689) * MODEL2_texOff(vec2(-1,0));
res += mat4(-0.018472597002983,-0.039554990828037,0.063318096101284,-0.172674238681793,-0.130052223801613,0.122760519385338,-0.030170502141118,0.085967838764191,0.123879283666611,0.018791509792209,-0.068762838840485,-0.067330799996853,-0.058695722371340,0.132355600595474,0.064726330339909,-0.008231767453253) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.284742474555969,0.159299805760384,-0.074018269777298,0.042940724641085,0.157477214932442,0.101393148303032,0.242116108536720,0.078084439039230,0.294908344745636,0.112610355019569,0.298270910978317,0.075313188135624,-0.209576711058617,0.332587659358978,0.309449583292007,0.037131045013666) * MODEL2_texOff(vec2(0,-1));
res += mat4(-0.085529647767544,0.379858016967773,-0.485813409090042,0.204787373542786,0.076131582260132,0.115852676331997,-0.322640597820282,0.301777541637421,0.258376002311707,-0.151548400521278,-0.361151099205017,0.283834904432297,-0.282614707946777,0.296462476253510,0.169464990496635,-0.129910528659821) * MODEL2_texOff(vec2(0,0));
res += mat4(-0.005442962516099,-0.099524736404419,0.098922349512577,0.298576772212982,-0.143507122993469,0.016940562054515,-0.451357156038284,-0.081563338637352,0.122759371995926,-0.179613009095192,0.408087283372879,-0.111851043999195,0.029099367558956,0.124444305896759,0.171735420823097,-0.063949979841709) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.092984408140182,0.110981076955795,0.037238296121359,-0.060908868908882,-0.150125876069069,-0.044900171458721,0.130801320075989,0.036236278712749,-0.015220311470330,0.000216235624976,0.094511456787586,-0.046833649277687,-0.072157837450504,-0.062907367944717,0.232821017503738,-0.039027240127325) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.168329447507858,0.382347345352173,-0.002991965971887,0.193838611245155,-0.002071413677186,-0.013607546687126,0.136187642812729,-0.085369542241096,-0.097916133701801,-0.079176232218742,0.175483375787735,-0.175300851464272,-0.261311233043671,0.189255729317665,0.161032468080521,-0.044387482106686) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.039306487888098,-0.125923499464989,-0.095159739255905,0.201136171817780,-0.002172330860049,0.329309910535812,0.253899544477463,-0.351400464773178,0.200987875461578,-0.082558088004589,0.277466893196106,-0.170591101050377,-0.120869532227516,0.112240232527256,0.261936664581299,-0.058627050369978) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.085701532661915,0.001701551373117,-0.034642029553652,-0.318849354982376,0.088387370109558,-0.028218634426594,-0.027545856311917,-0.637159824371338,-0.079038701951504,-0.098963484168053,-0.164916038513184,0.138634935021400,0.044453687965870,-0.142778068780899,-0.130755588412285,-0.002437093527988) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.164201691746712,0.189153313636780,-0.127559259533882,0.027867708355188,-0.084012813866138,-0.166349053382874,0.049359790980816,-0.357434153556824,0.204631313681602,-0.044453117996454,0.016930742189288,0.581080675125122,-0.051231741905212,0.150917008519173,0.212590679526329,0.312819391489029) * MODEL3_texOff(vec2(-1,0));
res += mat4(0.138075277209282,0.027154313400388,-0.098174296319485,-0.049137383699417,0.100321575999260,-0.040122039616108,-0.085993930697441,-0.027392193675041,0.015970494598150,0.047365929931402,0.052765607833862,0.107414908707142,-0.023290123790503,0.054885257035494,-0.129849404096603,0.100913576781750) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.052933719009161,0.637797534465790,-0.322591006755829,0.044538017362356,-0.124727636575699,-0.617740213871002,0.033078752458096,-0.419869035482407,-0.023768609389663,0.785304188728333,-0.002466151490808,-0.101863086223602,-0.473728418350220,-0.514188170433044,0.253352552652359,-0.013768102042377) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.300058305263519,0.924877941608429,-0.294703751802444,-0.098175019025803,0.230517819523811,-0.339056849479675,0.229347690939903,-0.131502717733383,-0.350028604269028,-0.280468612909317,-0.270060777664185,0.062591485679150,-0.254116028547287,-0.500920712947845,0.173922121524811,-0.384410589933395) * MODEL3_texOff(vec2(0,0));
res += mat4(0.083392083644867,-0.189999282360077,0.111675217747688,0.134997472167015,0.038221105933189,-0.083645127713680,-0.002387133194134,0.002774626249447,0.107014760375023,0.137234956026077,-0.252128213644028,-0.003195139346644,-0.024705436080694,0.134018182754517,-0.283441781997681,0.102899916470051) * MODEL3_texOff(vec2(0,1));
res += mat4(0.022409515455365,-0.084331378340721,-0.121777653694153,-0.003577146446332,-0.027673216536641,-0.004005198832601,-0.047409627586603,-0.043677922338247,-0.098033525049686,-0.301839232444763,-0.016851827502251,-0.153965651988983,0.292127579450607,0.137976258993149,-0.084985375404358,-0.020943786948919) * MODEL3_texOff(vec2(1,-1));
res += mat4(0.027391016483307,-0.168948158621788,0.390460610389709,0.115128085017204,0.191972911357880,-0.147688373923302,0.042259242385626,-0.037889543920755,-0.008163384161890,-0.296777725219727,0.069159433245659,0.079194985330105,0.026954092085361,0.227280229330063,-0.441111624240875,0.051315870136023) * MODEL3_texOff(vec2(1,0));
res += mat4(0.062938772141933,-0.156803682446480,0.469501465559006,-0.071960136294365,0.076424710452557,-0.019248493015766,-0.143292143940926,-0.000997941242531,0.154828250408173,0.012908037751913,-0.190919935703278,-0.003065002616495,0.014578302390873,0.050034079700708,0.054656699299812,0.020146800205112) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.230834692716599,0.209157750010490,0.381604522466660,0.224828243255615) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.084320940077305,0.104562960565090,0.215087041258812,-0.011274769902229);
res += mat4(-0.122827671468258,0.097457163035870,-0.028196718543768,0.043236721307039,-0.064660213887691,0.003183385822922,-0.005286925472319,0.094705000519753,-0.135139986872673,0.072768151760101,0.066739298403263,-0.012889463454485,0.117850065231323,-0.053331892937422,-0.061089329421520,-0.138198450207710) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.257849782705307,0.035326890647411,0.091568142175674,-0.138191208243370,0.021391190588474,0.037255711853504,-0.002013106830418,0.008387554436922,-0.434281975030899,0.103330783545971,-0.054674167186022,-0.124698042869568,0.111649714410305,0.116269230842590,-0.055941656231880,0.057540476322174) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.228839546442032,0.081309184432030,0.138769701123238,0.049746885895729,-0.033676646649837,0.006390267517418,0.104125551879406,-0.008681009523571,-0.274841129779816,0.064652770757675,-0.011804541572928,0.029898317530751,0.080212496221066,0.071634881198406,-0.049786280840635,-0.216259300708771) * MODEL1_texOff(vec2(-1,1));
res += mat4(0.132509738206863,-0.098025463521481,-0.147928059101105,-0.055836275219917,-0.048348184674978,-0.028616761788726,0.210602954030037,-0.204876855015755,0.090549871325493,0.215085849165916,0.087814606726170,0.117549203336239,-0.029870597645640,0.115707717835903,-0.289108484983444,-0.199248909950256) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.026068568229675,-0.048649046570063,-0.244895160198212,-0.102730855345726,0.273578763008118,-0.129540190100670,0.004208369180560,0.126769945025444,0.051217991858721,-0.088941849768162,-0.005792669951916,0.097896151244640,0.017268570140004,0.004582555033267,0.187807649374008,0.377158373594284) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.042680509388447,0.037903323769569,-0.051867201924324,0.092047236859798,0.015260137617588,-0.124184638261795,-0.125917866826057,-0.200945913791656,-0.079551421105862,-0.068085625767708,-0.018188295885921,-0.421869844198227,0.086484730243683,-0.107549659907818,0.100354306399822,0.007377027999610) * MODEL1_texOff(vec2(0,1));
res += mat4(0.022158375009894,-0.005197365302593,-0.230642259120941,-0.178806513547897,0.146175533533096,-0.187498152256012,0.178237959742546,-0.206005275249481,-0.017111524939537,-0.162753388285637,-0.088796295225620,0.145193427801132,-0.194591611623764,0.224268451333046,0.059047199785709,0.235538959503174) * MODEL1_texOff(vec2(1,-1));
res += mat4(0.379655271768570,0.222849920392036,0.462557137012482,0.040611945092678,-0.066857397556305,0.016229057684541,0.438414812088013,0.320163369178772,0.036980144679546,-0.390471339225769,-0.720714986324310,-0.179362297058105,-0.325274646282196,-0.117108933627605,-0.095865264534950,0.184146448969841) * MODEL1_texOff(vec2(1,0));
res += mat4(0.123416900634766,-0.152473509311676,-0.193943560123444,-0.212049141526222,0.188262194395065,0.106584288179874,-0.044423684477806,0.007270336616784,0.015263761393726,-0.060157258063555,-0.036795128136873,0.058905120939016,-0.190212145447731,-0.068043790757656,-0.186276167631149,0.202763885259628) * MODEL1_texOff(vec2(1,1));
res += mat4(0.010172033682466,0.369807332754135,0.187070026993752,-0.233782738447189,-0.016415145248175,-0.196067929267883,-0.029454696923494,-0.139000609517097,0.046984180808067,0.028367934748530,-0.027054935693741,0.051070760935545,0.051307294517756,0.117744863033295,0.010271714068949,0.025403028354049) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.034793931990862,0.110046185553074,0.007903194986284,-0.397521346807480,0.499009668827057,0.036411337554455,-0.200752511620522,0.084185302257538,0.454904228448868,0.031655412167311,-0.024596191942692,-0.274366468191147,0.236823588609695,0.295342296361923,0.035619482398033,0.010614133439958) * MODEL2_texOff(vec2(-1,0));
res += mat4(-0.002427558880299,0.004449629224837,-0.037557769566774,-0.162601888179779,0.195022881031036,0.138484165072441,-0.067567698657513,-0.033357989042997,0.162334606051445,0.134639099240303,-0.022272109985352,0.005168405361474,0.172669321298599,-0.215500280261040,0.057813756167889,-0.131052151322365) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.270050227642059,0.161257624626160,-0.060981370508671,-0.295516043901443,0.016480688005686,-0.035024221986532,-0.041803814470768,-0.260164082050323,-0.093345776200294,0.106199488043785,-0.035897321999073,-0.472663611173630,0.054473336786032,0.292973577976227,0.005274018272758,-0.054316729307175) * MODEL2_texOff(vec2(0,-1));
res += mat4(-0.013166738674045,0.037458702921867,0.131953984498978,0.136721253395081,-0.163779601454735,-0.225266158580780,-0.027825605124235,0.568440318107605,-0.453941702842712,0.005662885960191,-0.765070259571075,0.091107733547688,-0.357026100158691,-0.396159589290619,-0.316911011934280,0.248105168342590) * MODEL2_texOff(vec2(0,0));
res += mat4(0.069944307208061,-0.042292840778828,-0.173205733299255,-0.266746550798416,0.031825516372919,0.048443548381329,0.067551031708717,0.284142136573792,0.011475316248834,-0.141270935535431,-0.134518772363663,0.000621652347036,-0.049689859151840,-0.001319110277109,0.170395523309708,0.336671084165573) * MODEL2_texOff(vec2(0,1));
res += mat4(0.205334588885307,-0.072608247399330,-0.240443512797356,-0.304962575435638,0.028025962412357,0.080191329121590,0.000527642259840,-0.060831125825644,0.002285666298121,-0.022135844454169,0.283465236425400,-0.139860495924950,-0.042921364307404,-0.151974827051163,-0.046086087822914,-0.199712738394737) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.068513810634613,-0.258071452379227,0.109064139425755,-0.390710085630417,-0.320317298173904,0.106511764228344,0.250950306653976,0.511425971984863,0.104029893875122,0.226556152105331,-0.046594291925430,0.007879911921918,0.000151518368511,-0.208507627248764,0.223850831389427,-0.053252905607224) * MODEL2_texOff(vec2(1,0));
res += mat4(0.067188568413258,0.247935369610786,0.067299015820026,0.077645264565945,-0.053276322782040,0.043219432234764,-0.075837187469006,-0.336588710546494,0.110552370548248,0.185442760586739,-0.010205208323896,0.153301268815994,-0.012189057655632,0.289332568645477,-0.025832254439592,-0.275866419076920) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.007635347079486,0.137788698077202,-0.043207932263613,0.011077794246376,0.041454501450062,-0.047091409564018,-0.028113646432757,0.086132995784283,-0.042282916605473,-0.137344092130661,0.005221748258919,-0.244628891348839,-0.144707500934601,-0.499184638261795,-0.022391173988581,-0.008893134072423) * MODEL3_texOff(vec2(-1,-1));
res += mat4(0.217098489403725,0.119158536195755,-0.143292114138603,0.169577926397324,-0.062858074903488,0.056825809180737,-0.020065210759640,0.166375905275345,0.360521495342255,-0.008674870245159,-0.024290079250932,0.118419758975506,-0.179807156324387,-0.480629771947861,0.031071290373802,-0.315377324819565) * MODEL3_texOff(vec2(-1,0));
res += mat4(0.081996411085129,0.182438850402832,0.006509144790471,0.141315400600433,-0.200405821204185,-0.020546060055494,0.083252467215061,0.070519976317883,0.285791665315628,0.096264697611332,0.098346695303917,0.175379782915115,-0.147295340895653,-0.314819663763046,0.002754817716777,-0.044948093593121) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.008878998458385,0.344399333000183,-0.260156869888306,0.065144896507263,-0.076567165553570,0.102083913981915,-0.017398754134774,0.063994228839874,-0.135347992181778,0.102016307413578,-0.130367025732994,0.033501602709293,-0.020797889679670,-0.680499434471130,-0.063661001622677,-0.105233885347843) * MODEL3_texOff(vec2(0,-1));
res += mat4(0.113101854920387,0.029960488900542,-0.239719167351723,-0.089633435010910,-0.046024717390537,0.053282015025616,0.181110531091690,0.309423536062241,-0.091527163982391,-0.193713963031769,0.202101364731789,0.042505495250225,0.249759525060654,-0.808605253696442,-0.003775637131184,-0.298288702964783) * MODEL3_texOff(vec2(0,0));
res += mat4(0.112559549510479,0.181025117635727,0.104674741625786,0.102198615670204,-0.024350287392735,0.051096197217703,0.010999452322721,-0.302226781845093,-0.244935229420662,-0.050676532089710,0.141031712293625,0.132366463541985,0.075256377458572,-0.645671963691711,-0.050337295979261,-0.234073653817177) * MODEL3_texOff(vec2(0,1));
res += mat4(0.111660607159138,0.455787628889084,-0.118468143045902,0.120030522346497,-0.013904011808336,0.129600197076797,0.011009708046913,0.097030542790890,0.067586958408356,0.097837485373020,0.037075746804476,0.000910682487302,0.079850614070892,-0.173030361533165,-0.105510793626308,-0.012843837030232) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.035523608326912,0.273800045251846,-0.374108850955963,0.264722585678101,-0.182409152388573,-0.030025241896510,-0.110632441937923,0.277058571577072,0.075142644345760,-0.103621967136860,0.379648655653000,0.053427565842867,-0.008274078369141,-0.317584365606308,-0.155868917703629,-0.114208221435547) * MODEL3_texOff(vec2(1,0));
res += mat4(-0.012547793798149,0.199997708201408,-0.139082938432693,-0.109119504690170,-0.095294244587421,-0.035254057496786,-0.214413449168205,0.074103340506554,-0.103829652070999,-0.359900832176208,-0.032336313277483,-0.014039226807654,-0.008129669353366,-0.343441635370255,-0.086692497134209,-0.135700955986977) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.613092303276062,0.290867000818253,-0.223629072308540,0.534463584423065) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND MODEL1
//!BIND MODEL2
//!BIND MODEL3
//!SAVE MODEL5
//!DESC [AiUpscale_Fast_2x_LineArt_RT] mapping 2_2

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.047979388386011,0.096796207129955,-0.036398213356733,0.131663560867310);
res += mat4(-0.025219095870852,-0.274517893791199,0.075624205172062,-0.011726357042789,0.142266064882278,0.025983938947320,-0.115686856210232,-0.056325115263462,0.095096468925476,-0.217077299952507,0.106305047869682,0.022743122652173,-0.105763673782349,0.285333484411240,-0.061907742172480,0.075070179998875) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.188693091273308,-0.264241546392441,0.097160719335079,-0.052851170301437,0.371068447828293,0.086362339556217,0.001200162805617,-0.129666760563850,-0.054270464926958,-0.089412614703178,-0.112353853881359,0.005544209387153,0.027464149519801,0.160216808319092,-0.200594723224640,0.051392246037722) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.028702890500426,0.109537594020367,0.168474376201630,-0.127312600612640,0.109720952808857,0.094946995377541,0.023069983348250,-0.037406180053949,-0.065652929246426,-0.053639099001884,-0.096571981906891,-0.030880743637681,-0.014171081595123,0.181953907012939,-0.002190034836531,0.010350708849728) * MODEL1_texOff(vec2(-1,1));
res += mat4(0.069753155112267,-0.216715842485428,0.195422500371933,-0.009726579301059,0.152345031499863,0.057625617831945,-0.133685156702995,-0.060653373599052,0.137074440717697,-0.056602578610182,-0.111867308616638,0.063413120806217,0.082998551428318,0.227942034602165,-0.165655553340912,0.154484778642654) * MODEL1_texOff(vec2(0,-1));
res += mat4(0.311538577079773,-0.437937766313553,0.123646840453148,-0.022123541682959,-0.129990860819817,0.159873440861702,-0.255197882652283,-0.237338885664940,0.222862258553505,0.011087997816503,0.321312665939331,0.017267646268010,-0.043476384133101,0.336691737174988,-0.024858942255378,0.097825676202774) * MODEL1_texOff(vec2(0,0));
res += mat4(0.013310336507857,-0.447971761226654,-0.065750136971474,-0.145464971661568,0.098043717443943,0.258892327547073,0.023362103849649,-0.061517123132944,0.120978124439716,0.251907318830490,-0.020849755033851,-0.118750125169754,-0.016002617776394,0.177103966474533,-0.055380083620548,0.090605713427067) * MODEL1_texOff(vec2(0,1));
res += mat4(0.008400390855968,-0.131109073758125,0.147170528769493,-0.247376695275307,-0.130749434232712,0.264734506607056,-0.117707692086697,-0.046312592923641,0.045725841075182,0.190440475940704,-0.141208097338676,0.105034962296486,0.054474510252476,0.286649316549301,0.020800875499845,0.028663985431194) * MODEL1_texOff(vec2(1,-1));
res += mat4(0.064794048666954,-0.475594788789749,-0.008059170097113,-0.161835268139839,-0.167851597070694,0.026706444099545,-0.201105102896690,-0.103023059666157,-0.096418119966984,0.071167141199112,-0.012876045890152,0.005292198155075,-0.047328602522612,0.260485380887985,-0.116000011563301,0.087510049343109) * MODEL1_texOff(vec2(1,0));
res += mat4(0.029521921649575,-0.670580685138702,0.015543279238045,0.044728271663189,-0.009540630504489,0.160932019352913,-0.066171422600746,-0.108639359474182,-0.046965740621090,0.095727935433388,-0.067896917462349,0.067673981189728,-0.067985668778419,0.336459726095200,0.000269575975835,0.095432452857494) * MODEL1_texOff(vec2(1,1));
res += mat4(0.146546617150307,0.042386133223772,0.053700942546129,-0.041317019611597,-0.078656934201717,-0.056938648223877,-0.009717945009470,0.100835666060448,-0.290270239114761,-0.131007611751556,0.041692014783621,0.174338176846504,-0.307840347290039,-0.397432476282120,0.207520857453346,-0.060647431761026) * MODEL2_texOff(vec2(-1,-1));
res += mat4(0.098709858953953,0.036959152668715,-0.173465013504028,-0.275257706642151,-0.357172846794128,-0.152239218354225,0.035029716789722,0.110494300723076,-0.186774060130119,-0.133978813886642,0.150303453207016,0.054519969969988,-0.029711995273829,-0.458232432603836,0.180125385522842,-0.130728647112846) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.352321356534958,0.288114279508591,0.329839438199997,-0.060505472123623,-0.208571329712868,0.041535221040249,0.074420042335987,-0.000854882935528,0.057530485093594,-0.064800769090652,0.034654252231121,0.058692164719105,-0.068431869149208,-0.191178455948830,0.186829924583435,-0.000166319907294) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.034448217600584,-0.117364063858986,-0.028594367206097,0.221965476870537,-0.023269703611732,0.101998485624790,-0.045935310423374,0.236131832003593,-0.168144777417183,0.196519970893860,0.348003864288330,0.153335854411125,-0.075658984482288,-0.423069983720779,0.294115275144577,-0.113105386495590) * MODEL2_texOff(vec2(0,-1));
res += mat4(-0.483066856861115,0.242074966430664,0.337212830781937,0.381721019744873,-0.592349469661713,0.186209738254547,0.202303960919380,-0.084386736154556,-0.165491968393326,-0.093865662813187,-0.232955038547516,-0.520412623882294,-0.189391329884529,-0.551925539970398,0.424023449420929,-0.049782935529947) * MODEL2_texOff(vec2(0,0));
res += mat4(-0.077957913279533,-0.124447375535965,-0.068913169205189,-0.150406464934349,-0.681071698665619,0.046542547643185,-0.066487170755863,0.651558399200439,-0.222437039017677,0.240455925464630,0.031842190772295,-0.351959049701691,-0.054973665624857,-0.235973641276360,0.229504510760307,-0.098252609372139) * MODEL2_texOff(vec2(0,1));
res += mat4(0.056154582649469,-0.006951564457268,-0.116000369191170,0.135218963027000,-0.184426978230476,0.196340784430504,0.170686602592468,0.135313078761101,0.014942412264645,0.162797987461090,0.094552934169769,-0.052727952599525,0.083258666098118,-0.272607594728470,0.205658346414566,-0.130050152540207) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.074915833771229,-0.108778126537800,-0.053291391581297,-0.010147501714528,0.224265471100807,-0.102788880467415,0.129676997661591,0.037775408476591,0.209251061081886,0.039506997913122,-0.209599226713181,0.092076309025288,0.016867738217115,-0.273342728614807,0.189298421144485,-0.254469364881516) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.114855892956257,0.108356982469559,0.200611323118210,0.012055591680110,0.138508901000023,-0.106886051595211,-0.007297187577933,0.047559969127178,0.484500706195831,0.050077084451914,0.042289704084396,0.140704333782196,0.024048762395978,-0.074375435709953,0.071088030934334,-0.177223369479179) * MODEL2_texOff(vec2(1,1));
res += mat4(0.281005263328552,0.002507668454200,-0.046345364302397,-0.101720988750458,0.122663840651512,-0.057614814490080,-0.259803116321564,0.015782929956913,-0.100105606019497,0.112098433077335,-0.227422580122948,-0.096055999398232,0.019601535052061,-0.043981600552797,0.055952079594135,0.085532568395138) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.424834817647934,-0.163970008492470,0.014690359123051,-0.070682108402252,0.022173864766955,0.148483559489250,0.007669746410102,-0.021606286987662,-0.289504081010818,-0.040487043559551,0.072532169520855,0.041789520531893,-0.262040585279465,0.042386263608932,-0.279041379690170,0.184731945395470) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.024284154176712,0.195888161659241,-0.072421804070473,-0.065783903002739,0.030579818412662,0.183395013213158,0.055161193013191,-0.106515340507030,0.023117044940591,0.168502062559128,0.236604437232018,-0.174370020627975,-0.023218585178256,-0.121304772794247,-0.003079208312556,-0.106204494833946) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.152125552296638,-0.021785898134112,-0.141245335340500,-0.243887677788734,0.012747077271342,0.056233398616314,-0.162991777062416,-0.121765002608299,0.118479147553444,0.121799044311047,-0.256282716989517,-0.043294124305248,-0.149612993001938,-0.004708685446531,0.287619411945343,0.124572269618511) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.540717065334320,0.011562001891434,0.741078019142151,0.680190801620483,0.114701434969902,0.008238686248660,-0.242645889520645,-0.248982802033424,-0.136695116758347,0.391426682472229,0.123175852000713,0.015397329814732,0.380420625209808,0.112875729799271,-0.149638280272484,-0.734881103038788) * MODEL3_texOff(vec2(0,0));
res += mat4(-0.156090229749680,0.084938555955887,-0.071208484470844,-0.173962354660034,0.044379521161318,-0.146099448204041,-0.111697316169739,-0.186499521136284,0.104939997196198,-0.066124327480793,-0.013396790251136,0.092905521392822,0.063781335949898,0.200974851846695,-0.336715221405029,0.546220898628235) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.072231650352478,-0.011419093236327,-0.043073408305645,-0.093564435839653,-0.242035597562790,0.216980949044228,-0.057611830532551,0.034178037196398,0.044374182820320,-0.016061639413238,-0.027084825560451,0.008988133631647,0.047820016741753,-0.032560728490353,0.021036595106125,0.102678470313549) * MODEL3_texOff(vec2(1,-1));
res += mat4(0.507772326469421,0.157878562808037,-0.169848710298538,-0.143637567758560,-0.100948967039585,-0.110664315521717,-0.120514094829559,0.102780647575855,0.272841066122055,0.134620964527130,-0.231621578335762,0.093572609126568,-0.210065111517906,0.075707666575909,0.191024154424667,0.152756378054619) * MODEL3_texOff(vec2(1,0));
res += mat4(0.182499065995216,-0.071708381175995,-0.061578880995512,0.034884277731180,-0.069220170378685,-0.204153165221214,-0.018712380900979,0.092012226581573,0.011486750096083,0.009478210471570,-0.203207463026047,-0.016321739181876,0.045272082090378,-0.024534756317735,0.142943456768990,-0.052547849714756) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.069020017981529,-0.131332054734230,-0.256481289863586,0.737325012683868) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.069905824959278,0.131668478250504,0.016085151582956,0.050971165299416);
res += mat4(-0.171389177441597,0.027344649657607,0.309503734111786,-0.046427842229605,0.101333089172840,0.054901745170355,0.059431180357933,-0.313181817531586,0.075326934456825,0.064240701496601,0.174949362874031,-0.018570842221379,0.083292573690414,0.069694735109806,0.351860612630844,0.013163099065423) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.185222044587135,0.093570403754711,-0.314439684152603,0.253120094537735,0.017950586974621,-0.080658309161663,-0.232315763831139,-0.206995829939842,-0.073677696287632,-0.037614237517118,0.141482368111610,0.007470985874534,0.135579198598862,0.280693709850311,-0.210552960634232,-0.201488748192787) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.335586220026016,-0.029468216001987,-0.087753571569920,0.041629455983639,-0.064362615346909,-0.076338559389114,-0.055783145129681,-0.162885367870331,-0.126595512032509,-0.081709690392017,0.074776999652386,-0.106678068637848,-0.052433058619499,-0.278792381286621,0.040370058268309,-0.011350177228451) * MODEL1_texOff(vec2(-1,1));
res += mat4(0.214233830571175,-0.278527438640594,-0.216347098350525,0.205698877573013,-0.281203925609589,0.031353421509266,-0.475448906421661,-0.127427160739899,0.079612284898758,0.034490592777729,-0.333999603986740,0.232866480946541,0.260161101818085,-0.308550685644150,-0.113353520631790,0.109581202268600) * MODEL1_texOff(vec2(0,-1));
res += mat4(0.250074952840805,0.246404871344566,0.126383468508720,0.217773392796516,0.322559386491776,0.168211042881012,-0.334151774644852,-0.567707002162933,-0.117689408361912,-0.043580170720816,0.230549871921539,0.385479569435120,-0.147882595658302,0.354164361953735,-0.321459680795670,-0.286815583705902) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.018420917913318,0.190465748310089,0.413751035928726,0.173626065254211,-0.044681813567877,-0.038405176252127,0.091505423188210,0.009178645908833,-0.087454810738564,-0.021269131451845,0.094502106308937,-0.043124668300152,0.003022872610018,-0.622363686561584,0.046326473355293,-0.467755109071732) * MODEL1_texOff(vec2(0,1));
res += mat4(0.018618276342750,-0.191851109266281,0.012758863158524,0.207338348031044,-0.279379934072495,0.114302463829517,-0.361635923385620,-0.044082209467888,0.131254091858864,0.068844355642796,-0.010980905964971,0.053983148187399,0.047838084399700,0.076288968324661,0.218306347727776,0.057276926934719) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.004598823376000,0.247631579637527,-0.168939560651779,-0.594539105892181,0.157815635204315,0.169239088892937,-0.370400130748749,-0.287216007709503,0.076553866267204,0.098060145974159,0.089261449873447,0.528272092342377,-0.143347203731537,-0.048855114728212,0.429657548666000,0.461209297180176) * MODEL1_texOff(vec2(1,0));
res += mat4(0.091006793081760,0.075362570583820,0.308840245008469,-0.014464093372226,0.030585985630751,-0.092490501701832,0.098289035260677,-0.148440375924110,0.052473939955235,0.031842358410358,0.082521572709084,0.192287474870682,-0.020583624020219,-0.079978108406067,-0.145928561687469,0.186008557677269) * MODEL1_texOff(vec2(1,1));
res += mat4(-0.069805055856705,0.069785676896572,0.086879648268223,0.073959261178970,0.249615341424942,0.088551089167595,-0.376523107290268,0.069450363516808,-0.052951142191887,0.064336590468884,-0.172996774315834,-0.178195327520370,-0.077026687562466,0.050528604537249,-0.462706774473190,0.192887410521507) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.032285790890455,-0.036572292447090,0.146207407116890,-0.159874558448792,0.459397584199905,0.205856263637543,0.046621806919575,-0.029611073434353,-0.050670552998781,0.311065047979355,0.108234211802483,0.278737604618073,0.009176667779684,0.323812067508698,0.172019228339195,0.508960068225861) * MODEL2_texOff(vec2(-1,0));
res += mat4(-0.134832173585892,-0.148304298520088,0.058369949460030,0.101977214217186,0.221128195524216,0.103991530835629,0.159929946064949,-0.102459684014320,-0.073670409619808,0.006462211720645,0.052576713263988,-0.056683890521526,-0.034719336777925,-0.012221822515130,-0.308233797550201,-0.241818144917488) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.166993722319603,0.105862252414227,0.124732516705990,0.165518209338188,-0.394791096448898,-0.343212366104126,-0.149512261152267,-0.094558656215668,0.240066647529602,-0.157558277249336,0.390105664730072,-0.306653797626495,0.057888370007277,0.160490721464157,0.230900466442108,-0.246775045990944) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.325997740030289,0.185449793934822,-0.372864603996277,0.036716554313898,-0.173360735177994,-0.252807915210724,-0.574213981628418,-0.730531275272369,0.325126469135284,-0.487226635217667,0.074841544032097,0.604522049427032,0.305531650781631,-0.627546608448029,0.095317676663399,-0.096600741147995) * MODEL2_texOff(vec2(0,0));
res += mat4(-0.437075763940811,-0.302662551403046,0.308010280132294,-0.131571009755135,0.161394461989403,0.121529564261436,-0.094452492892742,0.170656353235245,-0.195099398493767,0.062916584312916,0.035736095160246,-0.104134872555733,-0.017368519678712,-0.103701844811440,-0.413145571947098,-0.021356677636504) * MODEL2_texOff(vec2(0,1));
res += mat4(0.073226504027843,-0.039909277111292,0.409388065338135,0.347013056278229,-0.020239382982254,0.021342048421502,-0.114732675254345,-0.122439309954643,-0.296832531690598,0.121736057102680,-0.132809266448021,-0.167074009776115,0.009697408415377,0.007385374512523,0.044396452605724,0.094819016754627) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.000612419040408,0.011013355106115,0.136150732636452,0.106073051691055,-0.158311426639557,-0.155776813626289,-0.301193624734879,-0.117235124111176,0.360811233520508,-0.174178674817085,-0.301433682441711,-0.124048970639706,-0.085845015943050,0.134824231266975,-0.036263208836317,-0.290271192789078) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.205857545137405,-0.209362640976906,-0.120531022548676,-0.117683015763760,0.010883810929954,-0.032642915844917,0.034065231680870,-0.034208998084068,0.016252018511295,0.071697205305099,0.049022633582354,0.010941861197352,-0.030120695009828,-0.068343259394169,0.157868251204491,-0.088775925338268) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.079499587416649,-0.085852853953838,-0.281781911849976,0.555701017379761,0.061564095318317,0.001727515133098,0.042252078652382,0.080661132931709,-0.065449342131615,-0.132659614086151,0.094581685960293,0.081588186323643,0.041085332632065,0.109799519181252,0.212408661842346,-0.047109529376030) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.118584975600243,0.072460755705833,0.212649136781693,0.251641571521759,-0.141347393393517,0.011728377081454,-0.084491819143295,0.022764166817069,0.015062293037772,-0.060613822191954,-0.108855158090591,0.000904870161321,-0.095456905663013,0.091111294925213,-0.022534374147654,-0.173391997814178) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.035845715552568,0.009564372710884,-0.139780983328819,0.062696523964405,-0.181019470095634,-0.006663388106972,0.072244815528393,-0.074546568095684,0.166736215353012,0.064238488674164,-0.048747591674328,-0.018618760630488,0.045287694782019,0.080072790384293,0.280270189046860,-0.159177199006081) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.345418244600296,-0.000544298323803,-0.129729092121124,0.218888744711876,0.188133329153061,0.041757527738810,-0.094190932810307,0.052597172558308,-0.036352977156639,-0.170854449272156,0.107678592205048,0.074955366551876,0.151813775300980,0.047575496137142,0.019666681066155,-0.007817965000868) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.183406308293343,-0.003434491343796,-0.022662151604891,0.359472364187241,0.045261550694704,0.126502782106400,0.466384470462799,-0.314732611179352,-0.460052967071533,-0.355920314788818,-0.403383314609528,-0.474312454462051,0.180326342582703,0.065078869462013,-0.215858995914459,-0.479921787977219) * MODEL3_texOff(vec2(0,0));
res += mat4(-0.043143261224031,0.139961406588554,-0.290083914995193,0.306645810604095,-0.216598883271217,0.038288880139589,0.124921329319477,0.129575818777084,0.272067755460739,0.118901178240776,-0.350932836532593,0.137905642390251,0.186560466885567,0.091688185930252,0.273750096559525,-0.184090539813042) * MODEL3_texOff(vec2(0,1));
res += mat4(0.112435691058636,-0.041014961898327,-0.138963684439659,-0.021160107105970,0.095254972577095,0.020747231319547,0.196402072906494,-0.130160793662071,0.021952714771032,-0.063644893467426,-0.176788374781609,-0.119865663349628,0.126928955316544,-0.030964607372880,0.202054157853127,-0.219970583915710) * MODEL3_texOff(vec2(1,-1));
res += mat4(0.125486001372337,-0.100698567926884,0.107958078384399,0.529345333576202,-0.148029461503029,-0.008290718309581,0.176530689001083,0.120672836899757,-0.013010759837925,-0.041851382702589,-0.256474673748016,0.045655362308025,0.164850592613220,-0.050848256796598,0.237163230776787,-0.052937623113394) * MODEL3_texOff(vec2(1,0));
res += mat4(0.007855792529881,0.047680627554655,0.024688342586160,0.375668495893478,-0.134190335869789,0.046956028789282,-0.020522326231003,0.087921947240829,0.137247100472450,0.041899796575308,0.131090641021729,0.168920144438744,0.054346438497305,-0.035518631339073,0.239491477608681,-0.000437291018898) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(1.230537414550781,1.051147222518921,0.191630914807320,0.132520735263824) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND MODEL1
//!BIND MODEL2
//!BIND MODEL3
//!SAVE MODEL6
//!DESC [AiUpscale_Fast_2x_LineArt_RT] mapping 2_3

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.036406628787518,-0.079052411019802,0.256988018751144,0.009149949066341);
res += mat4(-0.155500233173370,0.154857203364372,0.178209245204926,-0.028330421075225,0.024126449599862,0.036900799721479,0.065053388476372,0.089219592511654,0.029095020145178,0.152236312627792,0.204300597310066,0.025711135938764,0.283225029706955,-0.148759305477142,-0.098318569362164,-0.006224836688489) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.197703361511230,-0.006833624094725,-0.157681241631508,-0.023368766531348,-0.014564524404705,-0.003103336319327,0.038870107382536,0.189403235912323,0.016105633229017,0.071039110422134,-0.136062785983086,-0.050614424049854,0.055075388401747,-0.040605768561363,0.005798931699246,-0.039807617664337) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.077669747173786,-0.032854393124580,0.072302706539631,-0.029612233862281,0.037588104605675,0.074895218014717,0.109644308686256,0.114115275442600,0.183470681309700,0.364936798810959,-0.171194925904274,-0.058636289089918,0.189637720584869,0.038875617086887,-0.041088245809078,0.076195262372494) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.108949773013592,0.246016517281532,0.298675954341888,-0.093885026872158,-0.040653567761183,-0.025054989382625,-0.516423463821411,0.007559792138636,0.037060458213091,0.182883962988853,0.070809692144394,0.019509140402079,0.350721508264542,0.099206216633320,-0.097157172858715,-0.118412196636200) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.164591416716576,0.151048883795738,-0.043372347950935,0.068423874676228,-0.099277183413506,-0.455493479967117,-0.901685118675232,0.065653979778290,0.112309955060482,0.400318294763565,0.323671221733093,-0.161356881260872,0.311171859502792,0.009496909566224,0.008818257600069,-0.019409494474530) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.066592611372471,-0.016193754971027,-0.042912647128105,0.035699237138033,0.067919373512268,-0.056169454008341,-0.030723463743925,0.007690658327192,0.123389497399330,0.422284752130508,-0.112838819622993,0.016256351023912,0.140015572309494,0.144675269722939,0.021834356710315,0.002450923901051) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.099994488060474,0.066504664719105,-0.208438590168953,0.071382179856300,-0.087883785367012,-0.180080756545067,-0.346156150102615,-0.021154351532459,0.123863123357296,0.084236413240433,0.124997831881046,-0.077679418027401,0.263909161090851,-0.003404296701774,0.053371857851744,-0.012638160027564) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.591640114784241,-0.457903653383255,-0.040094472467899,0.059199381619692,-0.011628900654614,-0.698691427707672,-0.443317860364914,-0.026588065549731,-0.019804868847132,0.152212753891945,0.017974471673369,-0.035135906189680,0.268391102552414,-0.003356994828209,0.048275843262672,-0.007791796699166) * MODEL1_texOff(vec2(1,0));
res += mat4(0.000645451073069,-0.074929937720299,0.002305763075128,0.009960440918803,0.003004859667271,-0.037952564656734,0.017960006371140,-0.074290879070759,0.160859867930412,0.122805021703243,-0.004811856895685,-0.066919177770615,0.165841892361641,0.056933078914881,-0.001925848657265,-0.032975506037474) * MODEL1_texOff(vec2(1,1));
res += mat4(0.120996475219727,0.227060750126839,0.320687681436539,0.120464637875557,0.132320553064346,0.236178711056709,0.078241772949696,0.053974557667971,-0.070312865078449,-0.122429952025414,0.068552337586880,-0.017384685575962,-0.298352718353271,-0.190690100193024,0.356760442256927,0.007149631157517) * MODEL2_texOff(vec2(-1,-1));
res += mat4(0.007493572775275,-0.074386805295944,-0.081517025828362,-0.018049281090498,-0.072372511029243,-0.047401893883944,-0.048331089317799,-0.018524523824453,-0.018289105966687,0.123594410717487,-0.065307252109051,-0.143039792776108,-0.182532146573067,-0.211579546332359,0.014008309692144,-0.058034755289555) * MODEL2_texOff(vec2(-1,0));
res += mat4(-0.130541771650314,-0.070848554372787,0.082504138350487,-0.034912802278996,0.101598560810089,-0.123909048736095,-0.217815011739731,-0.045148849487305,-0.001428653136827,0.097173996269703,0.004948007874191,-0.304399728775024,-0.198907628655434,-0.000211597522139,0.065120398998260,-0.040922697633505) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.073087811470032,0.332586735486984,0.000344106374541,0.152607217431068,-0.056987211108208,0.123025953769684,-0.127663239836693,0.004518770147115,0.056935209780931,0.082789748907089,-0.069294504821301,-0.018016744405031,-0.187378153204918,-0.047666497528553,0.196991458535194,0.013273539952934) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.207072287797928,-0.057884536683559,-0.122947722673416,-0.150998756289482,0.078267864882946,0.124282546341419,-0.202343240380287,0.082824885845184,-0.231239959597588,-0.254821240901947,0.018082896247506,-0.045567683875561,-0.244229331612587,0.010442852042615,0.486139982938766,-0.041078444570303) * MODEL2_texOff(vec2(0,0));
res += mat4(0.060873433947563,0.014806219376624,0.140670165419579,-0.087046697735786,0.005183735396713,-0.646167874336243,-0.105296798050404,-0.404005646705627,0.164923220872879,-0.162155821919441,-0.103624477982521,-0.259415447711945,-0.119389258325100,-0.001075865817256,-0.001935611828230,-0.067451283335686) * MODEL2_texOff(vec2(0,1));
res += mat4(0.065943971276283,0.051952872425318,0.193655386567116,-0.036959875375032,0.166999936103821,-0.026712369173765,0.124330885708332,0.000634832540527,0.168458238244057,-0.122752875089645,0.009964657016098,-0.019649110734463,-0.239181116223335,0.019927181303501,0.041688021272421,0.040978267788887) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.033078588545322,-0.150547951459885,0.064616814255714,-0.168513432145119,0.187371879816055,0.423026412725449,0.013797903433442,-0.090662270784378,0.091836966574192,0.228060379624367,-0.066583506762981,-0.091716632246971,-0.039964143186808,-0.227309361100197,0.079598903656006,0.085796177387238) * MODEL2_texOff(vec2(1,0));
res += mat4(0.092139050364494,-0.036565661430359,0.088825076818466,-0.058126483112574,-0.036688175052404,-0.071651391685009,0.087966628372669,-0.031890317797661,0.077760756015778,0.143558263778687,0.036274887621403,-0.031547952443361,-0.081904008984566,0.061419758945704,-0.002262447495013,0.000845000613481) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.100357078015804,-0.058303784579039,0.197559252381325,0.107485793530941,-0.004004761110991,0.099377855658531,-0.328595966100693,0.053725060075521,0.190976157784462,-0.246768683195114,-0.396301895380020,0.075993791222572,-0.151846528053284,-0.075527109205723,0.198890000581741,0.136047929525375) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.077366076409817,-0.160579830408096,-0.065750896930695,0.211431518197060,-0.029227396473289,0.071530334651470,0.007978745736182,0.100409850478172,0.033588875085115,-0.351674497127533,-0.066549733281136,0.141331478953362,0.344728827476501,0.069422826170921,-0.024762799963355,0.185559704899788) * MODEL3_texOff(vec2(-1,0));
res += mat4(0.082896776497364,-0.120773307979107,0.092614538967609,0.123864717781544,-0.064068756997585,-0.065760001540184,0.020827297121286,0.051830347627401,0.170219987630844,-0.085965842008591,-0.077408567070961,0.224293023347855,0.092398658394814,0.033367957919836,0.105084910988808,0.432682365179062) * MODEL3_texOff(vec2(-1,1));
res += mat4(-0.204071208834648,-0.403977334499359,-0.312559604644775,0.024811288341880,-0.240005284547806,-0.988678932189941,-0.941771328449249,0.150180444121361,0.075863882899284,0.168642640113831,0.366856515407562,-0.172169178724289,0.171152800321579,-0.180108368396759,0.054796893149614,-0.092304110527039) * MODEL3_texOff(vec2(0,-1));
res += mat4(0.392982959747314,0.047670174390078,-0.299017399549484,-0.352672487497330,-0.033659081906080,-0.340140283107758,-0.360879361629486,0.251360505819321,0.438391596078873,0.922804117202759,0.322928965091705,0.105136901140213,0.085062876343727,0.548588693141937,0.242689862847328,-0.739722132682800) * MODEL3_texOff(vec2(0,0));
res += mat4(0.038367543369532,-0.195124745368958,-0.065868616104126,0.322735786437988,0.017575621604919,-0.090696625411510,0.014228127896786,0.125910967588425,-0.350299298763275,-0.453016251325607,-0.006732196081430,0.294600754976273,-0.219692394137383,-0.111066184937954,0.022133793681860,0.346756070852280) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.037616536021233,-0.027572600170970,-0.030497409403324,-0.016132667660713,-0.047498080879450,-0.106131955981255,-0.294297963380814,0.057782497256994,-0.011294381693006,-0.047866247594357,0.014907715842128,-0.092158854007721,0.175471752882004,-0.001263911020942,0.081299640238285,-0.025985047221184) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.075228683650494,-0.115083873271942,0.015341545455158,0.044628120958805,0.038425892591476,-0.035398561507463,-0.056490741670132,0.039102733135223,0.075219810009003,0.186085313558578,0.196073085069656,-0.094686269760132,-0.363240927457809,-0.161432072520256,-0.045039918273687,0.175161659717560) * MODEL3_texOff(vec2(1,0));
res += mat4(-0.008014876395464,0.003546400228515,0.158013090491295,0.031297579407692,-0.023481162264943,-0.069370329380035,0.079074986279011,0.060120169073343,0.071569986641407,-0.157909274101257,-0.016962204128504,0.097751751542091,-0.061637792736292,-0.019336152821779,-0.025807173922658,0.098545975983143) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.705877065658569,0.010770569555461,0.064978405833244,0.938159406185150) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.035692289471626,0.050445929169655,-0.059625655412674,0.308948278427124);
res += mat4(0.168010249733925,-0.074342407286167,-0.037116244435310,0.116514876484871,-0.131476044654846,0.117806650698185,-0.004147187341005,0.106916971504688,0.209615245461464,-0.012728727422655,-0.007232823409140,0.063522450625896,0.300197720527649,-0.120373554527760,-0.129715412855148,-0.013152972795069) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.121947899460793,-0.056390438228846,-0.039275337010622,0.285764664411545,0.031714707612991,-0.027605436742306,-0.016288137063384,0.052213005721569,0.279498845338821,-0.109429143369198,0.013876204378903,0.073887377977371,-0.004499504342675,0.209640666842461,0.073330610990524,-0.308148443698883) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.032576177269220,0.088659353554249,0.046697925776243,0.020261796191335,-0.081783801317215,-0.128802508115768,-0.112641699612141,0.147348254919052,0.055511739104986,-0.134280666708946,-0.019312672317028,0.132521659135818,-0.102362945675850,-0.071205772459507,-0.035854343324900,0.058724932372570) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.057347271591425,-0.029172578826547,-0.195288166403770,0.095451772212982,-0.253019928932190,0.191895887255669,-0.226388365030289,0.254217803478241,0.313947379589081,-0.003422538982704,0.155719891190529,-0.205233395099640,0.067899338901043,-0.131261378526688,-0.017776856198907,0.068489447236061) * MODEL1_texOff(vec2(0,-1));
res += mat4(0.142918333411217,-0.069541439414024,0.175074622035027,-0.197359636425972,-0.221367016434669,-0.256110280752182,0.077733144164085,-0.217745855450630,0.627225399017334,-0.107911020517349,0.080049537122250,-0.317236453294754,0.192678108811378,-0.167126744985580,0.408310502767563,0.116642981767654) * MODEL1_texOff(vec2(0,0));
res += mat4(0.214507773518562,0.099812887609005,0.259956598281860,-0.143358051776886,-0.043275710195303,-0.000408569758292,-0.059264086186886,-0.193769738078117,0.184343934059143,-0.136857852339745,0.086183026432991,-0.100990593433380,-0.096343398094177,-0.217835411429405,-0.167298600077629,0.126895025372505) * MODEL1_texOff(vec2(0,1));
res += mat4(0.119204349815845,-0.080270648002625,-0.268841773271561,0.011981376446784,0.103230208158493,0.287553042173386,-0.152637973427773,-0.050757791846991,-0.020557662472129,0.023650515824556,0.184970393776894,-0.016621816903353,-0.199271723628044,0.092659540474415,0.254211038351059,-0.145520627498627) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.056281350553036,-0.116259798407555,0.147723928093910,0.141937062144279,0.421384692192078,0.036684218794107,0.001729566138238,-0.101756878197193,0.026338659226894,-0.187179669737816,0.179251000285149,-0.310264796018600,-0.149637609720230,0.140014693140984,0.249615207314491,-0.331846535205841) * MODEL1_texOff(vec2(1,0));
res += mat4(-0.236398488283157,0.100316129624844,0.003688472090289,-0.013084759935737,-0.074202373623848,-0.138062149286270,-0.070831604301929,0.040716074407101,-0.100232705473900,-0.140961512923241,-0.014211159199476,0.028254311531782,0.067756794393063,0.021604748442769,-0.100051805377007,-0.032532252371311) * MODEL1_texOff(vec2(1,1));
res += mat4(0.028986299410462,-0.032058503478765,-0.000637048855424,-0.535271763801575,-0.155851766467094,0.196095541119576,-0.079201646149158,-0.228690266609192,0.070528596639633,0.125325202941895,-0.100407831370831,0.106992647051811,0.167639300227165,-0.045692101120949,0.232728242874146,-0.345550239086151) * MODEL2_texOff(vec2(-1,-1));
res += mat4(0.007318974472582,0.201618194580078,0.046289503574371,0.033602472394705,-0.180667325854301,0.043349657207727,0.163808360695839,0.094831556081772,0.083938851952553,0.082206994295120,0.028675351291895,-0.050727982074022,0.028730051591992,-0.255891561508179,0.168787091970444,0.023412795737386) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.055966742336750,-0.083886474370956,-0.081207625567913,0.199844762682915,0.019121855497360,-0.189296990633011,-0.019001113250852,-0.078276522457600,-0.053985998034477,-0.055770561099052,-0.076308116316795,-0.054023832082748,0.002254531951621,0.038506641983986,0.006096087861806,0.167487591505051) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.029835190623999,0.403238594532013,0.282763987779617,-0.457821816205978,-0.072269082069397,-0.229410246014595,-0.469008505344391,-0.224434077739716,-0.255965083837509,0.272053182125092,0.177435517311096,0.185067981481552,-0.133984312415123,0.177538573741913,0.149735972285271,0.136483967304230) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.003044517943636,0.083999097347260,0.287260830402374,0.388993948698044,-0.418023139238358,-0.404259949922562,-0.100165605545044,0.176974982023239,-0.113039575517178,0.374765783548355,-0.221781536936760,0.226608559489250,-0.403472930192947,-0.284845679998398,-0.280582994222641,-0.006238769739866) * MODEL2_texOff(vec2(0,0));
res += mat4(-0.282032310962677,-0.023442922160029,-0.178797259926796,0.323910504579544,0.240675732493401,0.527699172496796,0.278533220291138,0.020819544792175,0.001534943119623,0.024185622110963,-0.178878977894783,0.028319494798779,-0.025205548852682,0.346338123083115,0.003937402274460,0.380164474248886) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.174261271953583,0.031247388571501,0.129012212157249,-0.267900377511978,0.093602582812309,0.066050827503204,-0.127405256032944,-0.131687268614769,0.008075080811977,0.232202947139740,0.085509859025478,-0.121242634952068,-0.024967368692160,0.063692860305309,-0.224290564656258,0.014548870734870) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.072364851832390,0.219897732138634,0.240297392010689,0.278768688440323,0.296103298664093,0.112210601568222,-0.077081397175789,0.194361522793770,0.152477994561195,-0.082293674349785,-0.306877732276917,0.134019419550896,0.286033809185028,-0.042986791580915,-0.052865959703922,-0.152766048908234) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.005586519837379,0.028227858245373,0.038386587053537,0.278442084789276,-0.066556155681610,0.150776281952858,-0.007045499049127,-0.082523830235004,-0.019257457926869,-0.234616816043854,-0.024756917729974,-0.108324214816093,0.052764695137739,0.106703035533428,-0.000824990333058,-0.086550742387772) * MODEL2_texOff(vec2(1,1));
res += mat4(0.014402145519853,-0.098505102097988,-0.133053377270699,0.161538287997246,0.070821158587933,-0.024758571758866,-0.053885217756033,0.083776228129864,-0.093442209064960,0.067334629595280,0.130240067839622,-0.128591254353523,0.274080514907837,0.087245479226112,0.011515329591930,-0.179278329014778) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.182808741927147,-0.163558810949326,-0.126584202051163,0.196350350975990,0.194020718336105,0.184949740767479,0.106963627040386,-0.396464526653290,-0.244505524635315,0.019160645082593,-0.061273533850908,-0.006227515172213,0.297190606594086,0.412724912166595,0.007292174268514,-0.503532707691193) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.056203421205282,-0.199631512165070,-0.088018797338009,0.358863800764084,-0.008394844830036,-0.026846831664443,0.112070776522160,-0.192852199077606,-0.093328401446342,-0.041159555315971,0.073919221758842,-0.070176661014557,-0.068396948277950,0.217424392700195,0.049274731427431,-0.012740020640194) * MODEL3_texOff(vec2(-1,1));
res += mat4(-0.042345106601715,-0.262701839208603,-0.183919697999954,-0.217087298631668,0.053362503647804,-0.117108233273029,0.116513431072235,-0.134793773293495,-0.015098267234862,-0.150661960244179,0.184674158692360,0.053312737494707,0.227859020233154,-0.128923952579498,0.093150302767754,-0.325456351041794) * MODEL3_texOff(vec2(0,-1));
res += mat4(0.082245603203773,-0.007058986462653,-0.445869952440262,-0.535994231700897,0.121403679251671,0.461896091699600,0.525255739688873,-1.148957371711731,-0.481079548597336,-0.439392656087875,-0.405693322420120,-0.176603049039841,0.123904041945934,0.139531314373016,-0.010507064871490,-0.269364684820175) * MODEL3_texOff(vec2(0,0));
res += mat4(0.072551049292088,0.026896161958575,0.054824054241180,0.175736084580421,0.172633200883865,0.072073996067047,0.178734600543976,-0.903586804866791,0.146688982844353,0.258317172527313,0.133427113294601,-0.261911183595657,-0.031691804528236,-0.079178065061569,0.045614741742611,0.138727098703384) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.122638359665871,-0.093640588223934,0.036330763250589,0.280695348978043,-0.094975620508194,0.053173143416643,0.155623972415924,0.058710727840662,0.059118703007698,-0.100020870566368,-0.030917285010219,-0.036561947315931,-0.060893535614014,-0.195153012871742,-0.006023725960404,0.230507925152779) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.224951595067978,-0.378083586692810,-0.051995687186718,-0.111637271940708,-0.129441887140274,0.052491389214993,0.298732876777649,-0.565484523773193,0.270504027605057,-0.128441140055656,-0.047652311623096,-0.127403005957603,-0.096183396875858,-0.124182634055614,0.046237193048000,0.171329140663147) * MODEL3_texOff(vec2(1,0));
res += mat4(-0.159438461065292,-0.104145839810371,0.005179869011045,0.161837995052338,-0.123655699193478,0.066826306283474,-0.053104128688574,-0.075271278619766,0.075647935271263,-0.123396262526512,0.022723352536559,-0.103252433240414,-0.182444348931313,-0.050981812179089,-0.013043673709035,0.207027599215508) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.150713816285133,0.648675203323364,-0.583734691143036,0.103963054716587) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND MODEL4
//!BIND MODEL5
//!BIND MODEL6
//!SAVE MODEL1
//!DESC [AiUpscale_Fast_2x_LineArt_RT] mapping 3_1

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.052759949117899,0.018820220604539,-0.046067241579294,0.115638278424740);
res += mat4(-0.068980567157269,-0.003959018271416,-0.060104772448540,-0.068182371556759,-0.022328009828925,-0.018401246517897,-0.036257620900869,0.007632901426405,0.163964062929153,-0.038889188319445,-0.030662184581161,-0.130082145333290,0.226840749382973,-0.121583528816700,-0.110588930547237,-0.096647150814533) * MODEL4_texOff(vec2(-1,-1));
res += mat4(-0.083940230309963,0.230544224381447,0.018872395157814,0.143994897603989,0.223246216773987,-0.084915071725845,0.073129147291183,-0.128592342138290,-0.218670532107353,-0.247280269861221,0.269935756921768,-0.133752331137657,0.054508842527866,-0.186039909720421,0.106270395219326,-0.271923273801804) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.085772156715393,0.213397070765495,-0.115048632025719,0.273443430662155,0.005719153210521,-0.050906859338284,0.010199704207480,-0.016706511378288,0.143153861165047,0.038275867700577,0.172755539417267,-0.009763703681529,-0.028112735599279,-0.108945697546005,0.045828100293875,-0.107662498950958) * MODEL4_texOff(vec2(-1,1));
res += mat4(-0.084294632077217,-0.154103696346283,0.036869753152132,-0.006502911448479,-0.106457054615021,-0.012493245303631,0.000871180614922,-0.033636771142483,-0.068693213164806,0.087917231023312,-0.109465189278126,0.103181868791580,0.225414976477623,0.045546784996986,-0.148763522505760,-0.165015816688538) * MODEL4_texOff(vec2(0,-1));
res += mat4(-0.112105734646320,-0.011637314222753,-0.032925918698311,0.246586412191391,0.764422297477722,0.157187685370445,-0.116245530545712,-0.133366256952286,-0.001151094911620,-0.123870886862278,-0.019256936386228,-0.009472059085965,-0.018791964277625,0.294015228748322,0.258459776639938,0.350695699453354) * MODEL4_texOff(vec2(0,0));
res += mat4(0.004800180438906,-0.140143752098083,-0.018938783556223,-0.069462649524212,0.067431256175041,0.011257050558925,0.517058610916138,-0.313668936491013,0.003559716278687,-0.028789505362511,0.070981770753860,0.133533060550690,0.041218049824238,0.061694417148829,0.048458382487297,0.128104045987129) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.135422512888908,-0.128040626645088,-0.040237940847874,0.052124634385109,-0.064029730856419,0.065215073525906,-0.014323906041682,-0.013833376578987,-0.074454411864281,0.108967304229736,-0.136233925819397,-0.057792857289314,0.243270590901375,0.035849656909704,-0.009240634739399,-0.172607451677322) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.085543416440487,0.008270873688161,-0.027980547398329,0.129121303558350,0.159934639930725,-0.003464685985819,0.248126417398453,0.027038233354688,0.006775865331292,0.268362820148468,0.350419640541077,-0.111417382955551,-0.031299229711294,-0.644155859947205,-0.133601799607277,-0.153757721185684) * MODEL4_texOff(vec2(1,0));
res += mat4(-0.032182011753321,-0.148967325687408,0.016977205872536,0.117898918688297,-0.041027206927538,0.013368202373385,0.035534217953682,0.038740895688534,-0.067525990307331,-0.007985523901880,0.007563117891550,-0.000588147842791,0.036534372717142,-0.136555939912796,0.143666222691536,-0.034676324576139) * MODEL4_texOff(vec2(1,1));
res += mat4(0.199352785944939,-0.158741578459740,-0.123008094727993,-0.140974268317223,0.184392988681793,-0.183470800518990,-0.241339758038521,-0.121652536094189,-0.073152065277100,-0.208592429757118,-0.072250925004482,-0.159067004919052,-0.091981396079063,-0.107254751026630,-0.095428153872490,-0.078210592269897) * MODEL5_texOff(vec2(-1,-1));
res += mat4(-0.125588789582253,-0.148118510842323,0.101856917142868,-0.366638541221619,-0.043905589729548,-0.196623206138611,-0.012697731144726,-0.115895174443722,-0.219590783119202,-0.130720302462578,-0.224937587976456,-0.152802437543869,-0.214184463024139,-0.409030139446259,-0.132163420319557,-0.391480386257172) * MODEL5_texOff(vec2(-1,0));
res += mat4(0.086904220283031,0.010141944512725,0.028574829921126,-0.127489373087883,-0.021222613751888,-0.084048137068748,-0.021187195554376,0.091083981096745,-0.016352368518710,0.097572177648544,-0.060165788978338,-0.012428499758244,0.003047628793865,-0.040330450981855,0.056750070303679,0.039146289229393) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.057766038924456,-0.037312906235456,-0.195302739739418,-0.065375886857510,0.185748681426048,0.051189947873354,-0.053364861756563,-0.061732381582260,0.126664370298386,0.131229892373085,0.057671193033457,-0.026054305955768,-0.488946974277496,0.019700165838003,-0.299165219068527,0.073422454297543) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.114830471575260,0.003968238364905,0.051399596035480,0.358872056007385,-0.011696556583047,-0.093947798013687,0.074294112622738,-0.248024046421051,0.041631869971752,0.083514213562012,-0.060441877692938,0.050552342087030,0.283050745725632,0.516483843326569,0.215292915701866,0.193005234003067) * MODEL5_texOff(vec2(0,0));
res += mat4(0.000764556112699,-0.097331829369068,-0.172736272215843,0.005651307292283,0.057463049888611,-0.029667258262634,0.104529574513435,0.127543613314629,-0.178607910871506,0.091365247964859,-0.290108531713486,0.107446819543839,-0.133054777979851,0.093349717557430,0.010698439553380,0.021569546312094) * MODEL5_texOff(vec2(0,1));
res += mat4(0.055025160312653,0.049363262951374,-0.089299343526363,-0.148723393678665,0.075700066983700,0.127867534756660,-0.094584286212921,-0.153200209140778,-0.115118920803070,-0.018134457990527,-0.161317408084869,0.009230130352080,-0.132368803024292,0.121618114411831,-0.101819030940533,0.014686224982142) * MODEL5_texOff(vec2(1,-1));
res += mat4(-0.019109288230538,-0.155340790748596,-0.357264876365662,-0.082099385559559,0.030515039339662,0.412350445985794,-0.053789399564266,-0.089941732585430,-0.065844677388668,0.310013860464096,0.171950295567513,-0.013143207877874,-0.094900839030743,0.230258747935295,-0.151896372437477,-0.006432667374611) * MODEL5_texOff(vec2(1,0));
res += mat4(-0.017421001568437,-0.091049268841743,-0.013800787739456,-0.060796823352575,-0.120898939669132,0.083875931799412,-0.051450029015541,-0.060036014765501,-0.040228709578514,0.009284529834986,0.004770319443196,-0.006405251566321,-0.022011654451489,-0.009718886576593,-0.033861357718706,0.000192370906007) * MODEL5_texOff(vec2(1,1));
res += mat4(0.066147439181805,0.044415228068829,0.191026180982590,0.101505450904369,-0.067889660596848,0.004847847856581,0.099238306283951,0.053333081305027,0.129754409193993,-0.048774667084217,-0.077277176082134,-0.004286439158022,-0.174463793635368,-0.140713274478912,-0.072885863482952,-0.121027521789074) * MODEL6_texOff(vec2(-1,-1));
res += mat4(0.105379745364189,0.153568804264069,0.232645586133003,0.333029180765152,-0.051645580679178,-0.127747774124146,-0.346185207366943,-0.260076224803925,0.245768949389458,0.030059261247516,0.005511738359928,-0.016292460262775,-0.106512866914272,-0.023470714688301,-0.052539434283972,-0.115393757820129) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.015386285260320,0.031864583492279,0.024996645748615,-0.117048464715481,-0.111661754548550,0.013709545135498,0.125725150108337,0.055790252983570,0.029649075120687,-0.141112551093102,0.124868839979172,-0.185923129320145,-0.008685912936926,-0.052575990557671,-0.135136350989342,-0.071077108383179) * MODEL6_texOff(vec2(-1,1));
res += mat4(0.113744668662548,0.126593649387360,0.200245842337608,0.134736090898514,0.223751768469810,0.045180499553680,-0.087225511670113,0.039123434573412,0.391081035137177,-0.056908320635557,0.025841189548373,-0.095243267714977,-0.221196368336678,0.075572550296783,-0.077712953090668,-0.194356411695480) * MODEL6_texOff(vec2(0,-1));
res += mat4(-0.039658505469561,-0.188757166266441,0.011053951457143,-0.167302101850510,-0.191279396414757,0.066510222852230,0.108342759311199,-0.667910337448120,-0.086625225841999,-0.126101434230804,0.087682582437992,-0.030187176540494,-0.095548085868359,0.080013252794743,-0.011849060654640,0.531157195568085) * MODEL6_texOff(vec2(0,0));
res += mat4(0.034481193870306,0.015413844026625,0.292721211910248,-0.193550720810890,-0.180794969201088,0.117196038365364,0.548980176448822,-0.032775431871414,-0.094340540468693,-0.147007212042809,0.251123279333115,0.092182978987694,0.128843903541565,0.120237223803997,-0.048290412873030,-0.056837443262339) * MODEL6_texOff(vec2(0,1));
res += mat4(0.002912979805842,-0.141245111823082,0.125129625201225,-0.005966630298644,-0.036305740475655,0.002438016701490,0.150896146893501,0.088206581771374,0.334673553705215,0.254480481147766,-0.046621792018414,-0.104034423828125,0.004562959074974,0.213556125760078,-0.048858955502510,0.050160519778728) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.042113218456507,-0.142088696360588,0.101751394569874,0.086427927017212,-0.114015020430088,0.375232994556427,0.201212823390961,0.072393983602524,0.119263358414173,0.476891040802002,0.187072053551674,-0.316016703844070,-0.021836409345269,-0.118255540728569,0.054783038794994,-0.025681942701340) * MODEL6_texOff(vec2(1,0));
res += mat4(0.065355964004993,0.025708943605423,0.176227122545242,0.041863422840834,-0.079850859940052,0.107021607458591,-0.290543526411057,0.164442822337151,-0.060058623552322,0.188428744673729,0.326859474182129,-0.069850839674473,-0.067833997309208,-0.103286944329739,0.076426766812801,-0.060629136860371) * MODEL6_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.580295503139496,-0.798156738281250,0.079775400459766,1.066951870918274) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.155189558863640,-0.088638730347157,-0.028159232810140,-0.055543798953295);
res += mat4(0.002106039784849,-0.066454328596592,-0.071109443902969,-0.164694547653198,-0.066764287650585,-0.186870455741882,0.375219136476517,-0.007178101222962,-0.100204132497311,0.157142236828804,0.194800630211830,0.046847593039274,-0.124176383018494,0.421955853700638,-0.049582928419113,0.015641761943698) * MODEL4_texOff(vec2(-1,-1));
res += mat4(0.324075341224670,0.122965842485428,-0.097834877669811,-0.347196936607361,-0.039363522082567,-0.177310258150101,-0.048534404486418,-0.230487704277039,-0.013608183711767,0.144808351993561,0.034387502819300,0.254377424716949,-0.048389092087746,0.139429464936256,-0.064492806792259,0.064967982470989) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.130345046520233,0.005034125875682,0.168010145425797,-0.024811843410134,-0.063747085630894,0.278119683265686,0.449327528476715,-0.115466237068176,0.191962271928787,-0.065070286393166,0.012393897399306,-0.023332582786679,0.090055607259274,-0.076266579329967,0.067079573869705,-0.060961704701185) * MODEL4_texOff(vec2(-1,1));
res += mat4(0.073496811091900,0.071674227714539,-0.262342780828476,0.091750890016556,0.242251992225647,-0.104794286191463,0.327737927436829,-0.092601656913757,0.006521154195070,0.094414174556732,0.104971796274185,-0.189392849802971,0.010420694947243,0.118435472249985,-0.316717386245728,-0.139204978942871) * MODEL4_texOff(vec2(0,-1));
res += mat4(0.189369618892670,-0.079442806541920,0.226819396018982,0.369310945272446,-0.154563859105110,0.120105333626270,-0.089628934860229,0.079138234257698,0.064022921025753,0.119705393910408,0.152430459856987,-0.200515329837799,0.106339126825333,0.081297539174557,0.214771911501884,0.321159571409225) * MODEL4_texOff(vec2(0,0));
res += mat4(0.046299066394567,0.023265002295375,0.021830275654793,-0.000117506933748,0.259861111640930,-0.025399906560779,0.236245676875114,0.025137662887573,0.163837701082230,-0.208379909396172,-0.087026588618755,0.251410454511642,0.134498164057732,-0.157838612794876,0.040998470038176,0.031281810253859) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.043550096452236,0.158702298998833,-0.101402290165424,0.028835231438279,0.116249494254589,0.109039336442947,0.079105868935585,0.096395798027515,0.060667466372252,0.135774105787277,-0.210341185331345,0.126136064529419,-0.015057019889355,0.017931178212166,-0.117928981781006,0.022965621203184) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.002625973895192,0.027912916615605,0.009698706679046,-0.270372837781906,0.137516736984253,0.200658917427063,-0.007011586800218,0.242306441068649,0.138601467013359,0.023697460070252,-0.012097419239581,0.310890555381775,0.026421286165714,0.070239484310150,0.220280289649963,-0.107094004750252) * MODEL4_texOff(vec2(1,0));
res += mat4(-0.076973974704742,-0.000391792797018,-0.036844622343779,-0.066957794129848,0.113088138401508,-0.046281542629004,-0.231948256492615,0.116938389837742,0.018379662185907,0.017265677452087,0.012802056036890,0.046489700675011,0.025410903617740,-0.011133661493659,-0.061178941279650,0.007792822085321) * MODEL4_texOff(vec2(1,1));
res += mat4(0.046006686985493,0.313973605632782,0.020868452265859,0.003813460469246,-0.081573486328125,-0.355074435472488,0.006243113428354,-0.080736525356770,0.013517580926418,-0.112597629427910,0.127783983945847,-0.062755852937698,0.150884717702866,-0.033498127013445,0.100323811173439,-0.156747892498970) * MODEL5_texOff(vec2(-1,-1));
res += mat4(-0.164759546518326,-0.004143213387579,0.002761355368420,0.232223212718964,0.424373716115952,0.412164568901062,-0.022290542721748,0.039788223803043,0.253511041402817,-0.220336705446243,0.129845440387726,-0.027208494022489,0.317319840192795,0.126644626259804,-0.120104655623436,-0.116485886275768) * MODEL5_texOff(vec2(-1,0));
res += mat4(-0.123521655797958,-0.013661555945873,0.150463879108429,0.055879354476929,0.109368979930878,-0.035331934690475,-0.069451823830605,-0.078337535262108,-0.018829885870218,0.033454071730375,0.013273703865707,0.126864746212959,0.306283622980118,-0.116888687014580,0.097280405461788,-0.000659705605358) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.211511880159378,0.241858780384064,0.040859885513783,-0.262639820575714,-0.199920803308487,-0.332386821508408,-0.014745996333659,0.136811196804047,0.068255528807640,-0.109339654445648,0.129534393548965,0.233635887503624,0.303292810916901,-0.109999269247055,0.002245683688670,-0.039160501211882) * MODEL5_texOff(vec2(0,-1));
res += mat4(-0.014015548862517,-0.139289319515228,0.448523730039597,-0.114456228911877,-0.450993865728378,0.290111780166626,0.573910713195801,-0.113154232501984,0.239924818277359,0.048348214477301,0.053659383207560,-0.027250351384282,0.355352252721786,0.018270893022418,0.572183787822723,0.316391021013260) * MODEL5_texOff(vec2(0,0));
res += mat4(0.151330858469009,-0.140210285782814,-0.226800352334976,0.049772489815950,0.188320532441139,-0.166808590292931,-0.195009484887123,0.066267021000385,-0.038663595914841,0.095893561840057,0.294510751962662,-0.067269802093506,0.138420999050140,-0.269386589527130,-0.256645798683167,0.154563814401627) * MODEL5_texOff(vec2(0,1));
res += mat4(0.048607107251883,0.019949447363615,0.000180532777449,-0.105186566710472,-0.082808271050453,0.008250122889876,-0.254648894071579,0.138369783759117,0.016858173534274,0.033938374370337,0.127588853240013,0.028081441298127,0.057342763990164,-0.077656120061874,0.167848765850067,0.030953623354435) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.004197628702968,0.151000067591667,-0.243854165077209,0.119468808174133,-0.012068183161318,0.013943473808467,0.050560634583235,0.179947301745415,0.111869439482689,0.063013434410095,-0.049423176795244,-0.181573897600174,0.017141951248050,0.098241105675697,0.101595081388950,-0.304756402969360) * MODEL5_texOff(vec2(1,0));
res += mat4(0.012798807583749,-0.055271763354540,-0.107665777206421,0.113165043294430,0.055870298296213,0.098796620965004,0.111844874918461,-0.050514325499535,0.003479535691440,-0.054062422364950,0.132613569498062,0.189139783382416,-0.131390571594238,0.074576430022717,-0.148609697818756,-0.138740018010139) * MODEL5_texOff(vec2(1,1));
res += mat4(0.017421765252948,0.236516013741493,-0.061438564211130,0.021345864981413,-0.155427694320679,0.043385542929173,-0.095656238496304,-0.197967067360878,0.150706321001053,0.165452986955643,-0.013999766670167,-0.025824861600995,-0.141434103250504,0.627880156040192,-0.260384857654572,-0.052943248301744) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.272569298744202,0.234709382057190,0.160387337207794,0.340629905462265,-0.151986569166183,0.025377908721566,0.089919894933701,0.097998812794685,-0.003938181791455,-0.336398810148239,0.113766662776470,0.023750601336360,0.133501470088959,0.128657042980194,-0.060369376093149,0.148352518677711) * MODEL6_texOff(vec2(-1,0));
res += mat4(-0.284453362226486,0.016717901453376,-0.045003715902567,-0.018633352592587,-0.259922504425049,-0.101267904043198,0.061470396816730,0.043123766779900,0.149061471223831,0.123981773853302,0.048602487891912,0.034862484782934,-0.047189645469189,0.122703716158867,0.013883613981307,0.093948848545551) * MODEL6_texOff(vec2(-1,1));
res += mat4(0.162383630871773,0.018926445394754,-0.115538477897644,-0.121450558304787,-0.237040594220161,-0.137917548418045,0.012784816324711,-0.006298210471869,0.194768607616425,0.098015382885933,-0.063060134649277,-0.042702324688435,-0.198776945471764,0.506771504878998,-0.582105576992035,-0.119626998901367) * MODEL6_texOff(vec2(0,-1));
res += mat4(-0.203733339905739,0.246459752321243,-0.302905350923538,-0.018688505515456,0.128338977694511,-0.096142761409283,-0.031698923557997,-0.044561933726072,0.004075931385159,-0.399763971567154,0.489107787609100,-0.093733370304108,0.169442728161812,-0.040070593357086,-0.264930218458176,0.216503635048866) * MODEL6_texOff(vec2(0,0));
res += mat4(-0.089039228856564,0.096108272671700,-0.010669607669115,-0.007684472948313,-0.156508326530457,-0.116658307611942,-0.128183066844940,-0.013273964636028,-0.093437246978283,0.042143478989601,0.300643801689148,-0.067911118268967,-0.013506415300071,0.279345870018005,-0.141835168004036,0.079574272036552) * MODEL6_texOff(vec2(0,1));
res += mat4(-0.046003334224224,0.132938906550407,-0.175876334309578,0.050320848822594,-0.001926527125761,0.011961936950684,-0.073448978364468,-0.083970621228218,0.016616348177195,-0.050105873495340,0.104514554142952,-0.018873561173677,0.018703386187553,0.415858685970306,-0.489738702774048,0.064862862229347) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.222114488482475,-0.069878943264484,-0.240431204438210,0.266595065593719,-0.075664922595024,0.126172676682472,-0.002588892821223,-0.222178310155869,-0.141614422202110,-0.066070735454559,0.031527303159237,-0.174697577953339,0.135036736726761,0.055819749832153,-0.110031425952911,0.177765846252441) * MODEL6_texOff(vec2(1,0));
res += mat4(0.051663506776094,0.229582712054253,-0.066909477114677,0.023523706942797,-0.034746054559946,-0.077012978494167,-0.125656813383102,0.056982453912497,-0.076810151338577,0.015325298532844,0.122741565108299,-0.194029659032822,0.009437704458833,0.067271634936333,-0.034565836191177,-0.003746443195269) * MODEL6_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.828130245208740,-0.173502027988434,0.089178033173084,0.869291305541992) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND MODEL4
//!BIND MODEL5
//!BIND MODEL6
//!SAVE MODEL2
//!DESC [AiUpscale_Fast_2x_LineArt_RT] mapping 3_2

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.096605911850929,-0.050314355641603,-0.010989272966981,0.031479079276323);
res += mat4(0.029371818527579,0.021535616368055,0.005114404950291,-0.007450550328940,-0.085665889084339,0.071823865175247,0.023067938163877,0.070198923349380,-0.184691339731216,0.117220118641853,-0.028381951153278,-0.059145901352167,-0.033763203769922,-0.073483958840370,-0.000980352866463,-0.055110562592745) * MODEL4_texOff(vec2(-1,-1));
res += mat4(0.028204631060362,0.018867598846555,-0.051143683493137,-0.039779670536518,0.025394963100553,-0.074985384941101,0.032933492213488,-0.076438069343567,0.229226604104042,-0.265815824270248,0.103360250592232,0.103716284036636,0.082549735903740,0.045734763145447,0.058437690138817,0.207856506109238) * MODEL4_texOff(vec2(-1,0));
res += mat4(-0.068177334964275,0.009339260868728,-0.036894023418427,-0.055032636970282,0.153007462620735,-0.151544257998466,0.072178967297077,0.086195379495621,-0.171193167567253,-0.254279434680939,-0.073272861540318,0.013279143720865,0.029012197628617,-0.205908834934235,0.035706285387278,0.061801012605429) * MODEL4_texOff(vec2(-1,1));
res += mat4(0.027697751298547,0.050242699682713,0.040074758231640,0.127748817205429,-0.172381848096848,0.207396402955055,0.032285872846842,0.184478417038918,-0.548923134803772,0.493879050016403,0.354605257511139,0.237473696470261,-0.063486844301224,0.084397554397583,0.033243402838707,-0.185687676072121) * MODEL4_texOff(vec2(0,-1));
res += mat4(0.021881772205234,0.064002215862274,-0.249341279268265,0.104103133082390,-0.218024760484695,-0.056051667779684,0.189299508929253,-0.700221240520477,-0.043546225875616,-0.122599750757217,-0.551607787609100,-0.359797358512878,-0.190765485167503,0.052076801657677,0.089118041098118,-0.165278926491737) * MODEL4_texOff(vec2(0,0));
res += mat4(0.095285736024380,0.090612225234509,0.134144052863121,-0.044220637530088,-0.402882337570190,-0.484031319618225,0.132044672966003,-0.301200211048126,-0.396592795848846,-0.116493254899979,-0.105934448540211,0.053744673728943,0.054562449455261,-0.196792230010033,-0.011961506679654,-0.234075948596001) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.207269579172134,0.088490098714828,-0.057480916380882,0.219133853912354,0.029931291937828,0.034349907189608,0.092621751129627,0.141541242599487,0.033830847591162,0.028472568839788,0.135637760162354,0.185763850808144,0.224542170763016,0.022788204252720,-0.007880884222686,-0.321733951568604) * MODEL4_texOff(vec2(1,-1));
res += mat4(0.507162988185883,-0.204552873969078,-0.219646409153938,0.244547039270401,-0.182384565472603,0.001761750318110,-0.157594755291939,-0.331516295671463,0.009672804735601,-0.009351600892842,0.134067162871361,0.147014901041985,-0.244224444031715,0.066314116120338,0.489430397748947,-0.127125620841980) * MODEL4_texOff(vec2(1,0));
res += mat4(-0.032099030911922,-0.037633489817381,-0.328472256660461,0.098205551505089,0.015768909826875,-0.084545589983463,0.200735196471214,0.142506301403046,-0.085569165647030,-0.017052054405212,0.233294263482094,0.012435538694263,-0.126803874969482,-0.404095321893692,0.076433539390564,-0.107508800923824) * MODEL4_texOff(vec2(1,1));
res += mat4(0.070955783128738,0.109804302453995,-0.030214510858059,0.017362369224429,0.011388582177460,0.362872838973999,-0.077940031886101,-0.116906866431236,0.288077265024185,-0.125575214624405,-0.081530921161175,0.193376630544662,-0.014286393299699,0.180293232202530,-0.045704517513514,0.085154928267002) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.273768544197083,0.045224867761135,-0.008824179880321,0.113364644348621,0.167303815484047,-0.082928709685802,0.069021157920361,-0.062730163335800,0.166736260056496,0.144383996725082,0.010458082892001,0.386902540922165,0.366274714469910,-0.253994315862656,-0.067719213664532,0.223057895898819) * MODEL5_texOff(vec2(-1,0));
res += mat4(-0.036129985004663,-0.388903409242630,0.043385118246078,0.006265227217227,0.064205549657345,-0.110068239271641,-0.097129136323929,-0.035699501633644,-0.070355325937271,0.025697346776724,0.007713451515883,0.079744175076485,0.052967458963394,-0.255575597286224,0.070769816637039,0.099202431738377) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.176111593842506,-0.032466053962708,0.017504233866930,-0.053178068250418,-0.030163027346134,0.025952354073524,0.193002402782440,-0.099853359162807,0.186896815896034,-0.103468425571918,0.002181580057368,-0.105420500040054,-0.306112200021744,0.360356867313385,0.289653927087784,0.621335148811340) * MODEL5_texOff(vec2(0,-1));
res += mat4(-0.367274582386017,0.012654896825552,-0.132684990763664,0.060786213725805,-0.204191207885742,0.015287822112441,0.025463083758950,-0.542614698410034,-0.018725125119090,-0.092385992407799,-0.239245966076851,0.080496333539486,-0.406126409769058,-0.320988208055496,-0.325647741556168,-0.254318505525589) * MODEL5_texOff(vec2(0,0));
res += mat4(0.091992415487766,-0.349105089902878,0.002318107755855,0.146670505404472,-0.145704224705696,-0.397668987512589,0.147866934537888,-0.072223149240017,0.453813612461090,0.053743939846754,-0.050500635057688,-0.084471352398396,0.157805740833282,-0.044305559247732,0.119433097541332,-0.115602552890778) * MODEL5_texOff(vec2(0,1));
res += mat4(-0.079818651080132,0.264600753784180,0.012201497331262,0.086149528622627,0.149420440196991,0.156132802367210,0.114711359143257,-0.166185081005096,-0.188619241118431,0.101091712713242,0.058668985962868,0.035430118441582,0.212738871574402,-0.140182226896286,-0.064281947910786,0.204230412840843) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.348052591085434,-0.220361426472664,0.240361645817757,0.095843203365803,0.147398352622986,-0.016103390604258,0.063005372881889,-0.322731703519821,0.177592203021049,-0.161933600902557,0.245900541543961,-0.107678778469563,-0.047005023807287,-0.115190528333187,0.320947617292404,0.219614729285240) * MODEL5_texOff(vec2(1,0));
res += mat4(0.079439565539360,-0.228749305009842,-0.022282181307673,-0.164824292063713,0.040168244391680,-0.164625450968742,0.221148386597633,0.001319611095823,0.213258340954781,0.131587564945221,-0.070715487003326,-0.039942484349012,0.098928585648537,0.115839898586273,0.014310119673610,-0.004055823665112) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.206469118595123,-0.178906679153442,-0.057480376213789,-0.057601135224104,0.103838086128235,-0.009366272948682,-0.095127396285534,0.018675033003092,-0.045056924223900,0.120354853570461,-0.010342337191105,0.109026491641998,0.032495897263288,0.110946625471115,-0.011367765255272,0.227675706148148) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.284857332706451,0.038302700966597,0.048505786806345,-0.018653996288776,-0.027440741658211,0.049410279840231,0.046097017824650,-0.076172299683094,-0.206346809864044,0.003929900005460,0.043887399137020,-0.143842339515686,0.239598959684372,-0.069470293819904,0.005311005283147,0.112981848418713) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.011196619831026,0.048808347433805,-0.023777743801475,-0.009398669935763,0.063443027436733,-0.237210288643837,0.188586294651031,0.318146854639053,-0.151235580444336,-0.090187467634678,0.135064914822578,-0.186884239315987,0.093156218528748,0.020201107487082,0.072857260704041,0.043735146522522) * MODEL6_texOff(vec2(-1,1));
res += mat4(0.146000519394875,-0.232184976339340,-0.114278897643089,-0.291973114013672,0.243922904133797,-0.045758023858070,0.159372612833977,-0.039946362376213,-0.210731640458107,0.051822021603584,-0.041367456316948,-0.157806038856506,-0.068856894969940,0.046976618468761,0.185217097401619,0.057670570909977) * MODEL6_texOff(vec2(0,-1));
res += mat4(-0.143192619085312,0.415771633386612,0.079193808138371,0.447025328874588,-0.463222742080688,0.275855958461761,0.832762956619263,-0.440815061330795,-0.152327045798302,0.359797716140747,0.098365433514118,0.113418653607368,0.005919239018112,-0.538634717464447,0.083913914859295,0.074089735746384) * MODEL6_texOff(vec2(0,0));
res += mat4(-0.032509911805391,-0.038399446755648,0.001144068199210,0.044395200908184,-0.204637840390205,-0.362829059362411,0.235063076019287,0.485584437847137,-0.344181418418884,-0.154634699225426,0.313529700040817,-0.287048727273941,-0.226130485534668,0.267399996519089,-0.325748443603516,-0.075073301792145) * MODEL6_texOff(vec2(0,1));
res += mat4(-0.146957010030746,-0.002762916497886,-0.067465692758560,0.026858298107982,0.104563131928444,-0.053238667547703,-0.016441466286778,0.195985168218613,-0.073939144611359,0.300401866436005,0.084784060716629,-0.150620222091675,-0.073453031480312,0.138734102249146,0.205628827214241,0.075214073061943) * MODEL6_texOff(vec2(1,-1));
res += mat4(-0.096085362136364,0.015948636457324,-0.249119624495506,0.170701503753662,0.313200443983078,-0.047632504254580,-0.066277481615543,0.243326365947723,-0.082127057015896,0.156167760491371,0.449505358934402,-0.084358505904675,-0.104695476591587,0.044835589826107,-0.220483377575874,-0.101575762033463) * MODEL6_texOff(vec2(1,0));
res += mat4(-0.131827652454376,-0.038830976933241,-0.044560045003891,0.174649551510811,-0.058924246579409,-0.166418388485909,0.195383027195930,0.265544235706329,-0.043471619486809,-0.242285981774330,0.177711755037308,-0.166668757796288,-0.070428684353828,-0.071954511106014,0.053259246051311,-0.045545913279057) * MODEL6_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.027258614078164,-0.090828217566013,0.614370942115784,0.089970439672470) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.011771610938013,-0.066601909697056,-0.080891773104668,-0.025022579357028);
res += mat4(-0.186992347240448,0.111454375088215,-0.093452565371990,0.052803736180067,-0.203448608517647,-0.119721502065659,-0.100390240550041,-0.074442908167839,0.047329399734735,-0.013135302811861,0.104669526219368,0.004248924087733,-0.046676881611347,-0.054021690040827,0.119207747280598,0.028623322024941) * MODEL4_texOff(vec2(-1,-1));
res += mat4(-0.569205224514008,-0.089650258421898,0.008816783316433,0.083228528499603,-0.143459543585777,-0.068704217672348,0.184260025620461,0.108799554407597,0.102149531245232,-0.180630952119827,0.119723446667194,-0.176542520523071,0.100361779332161,0.343753010034561,0.123725555837154,0.223637238144875) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.010485951788723,0.012410098686814,0.372752815485001,0.093183867633343,0.226406216621399,-0.155000463128090,0.802620649337769,0.073668174445629,-0.107343949377537,0.028074968606234,0.036544296890497,-0.025229224935174,0.004507633857429,-0.065023243427277,0.111704252660275,-0.038425255566835) * MODEL4_texOff(vec2(-1,1));
res += mat4(0.111184857785702,-0.005330185405910,-0.097309283912182,-0.037181895226240,0.145931482315063,0.003139338456094,-0.057860467582941,0.247548758983612,0.070069238543510,0.022688517346978,0.128672465682030,-0.051747512072325,0.061882805079222,-0.027912264689803,-0.074946194887161,-0.338688522577286) * MODEL4_texOff(vec2(0,-1));
res += mat4(0.185974970459938,0.133269011974335,0.305771589279175,0.193157091736794,-0.129185840487480,-0.254331707954407,0.247353166341782,-0.075284734368324,0.000291472591925,0.249217256903648,0.072064861655235,0.062266338616610,0.134639769792557,0.377740055322647,-0.197952121496201,0.254019290208817) * MODEL4_texOff(vec2(0,0));
res += mat4(0.009551653638482,-0.080740801990032,0.196872919797897,0.093338571488857,-0.158066183328629,-0.015926772728562,0.144637748599052,-0.055740755051374,-0.029914170503616,0.205792650580406,-0.132406696677208,0.174535036087036,-0.141355127096176,-0.023323796689510,0.042210303246975,0.124017186462879) * MODEL4_texOff(vec2(0,1));
res += mat4(0.119777612388134,-0.036119375377893,0.167191371321678,-0.177085906267166,0.071150042116642,-0.067775733768940,0.206168025732040,0.203910276293755,0.003328853286803,0.041571751236916,-0.002457422669977,-0.120344869792461,0.027118917554617,-0.044180285185575,-0.216127023100853,0.013775976374745) * MODEL4_texOff(vec2(1,-1));
res += mat4(0.446114867925644,-0.083228521049023,-0.047985576093197,-0.098401360213757,-0.064241990447044,0.117284543812275,0.314410895109177,0.116056196391582,-0.170590087771416,0.255553841590881,0.555553495883942,0.040387414395809,0.232572689652443,-0.082855716347694,0.053190529346466,0.097457252442837) * MODEL4_texOff(vec2(1,0));
res += mat4(0.124727122485638,-0.049320463091135,0.122332505881786,-0.082859091460705,-0.216485023498535,0.214729666709900,0.165573447942734,0.077055662870407,-0.066006921231747,0.112740382552147,0.182047739624977,0.102197319269180,0.062793821096420,0.029692828655243,0.185152366757393,0.080226220190525) * MODEL4_texOff(vec2(1,1));
res += mat4(-0.080382972955704,0.045941177755594,0.110600747168064,0.021669637411833,0.112720973789692,0.064118981361389,-0.054511126130819,0.037254832684994,0.105595387518406,-0.035153940320015,-0.036703664809465,0.048003584146500,-0.109051339328289,0.069617338478565,0.074113309383392,0.124484129250050) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.448824018239975,-0.057974845170975,0.035893950611353,0.018377237021923,-0.285133421421051,-0.138326808810234,0.110416904091835,-0.212973669171333,-0.144917190074921,-0.110427334904671,-0.049192983657122,0.048285134136677,-0.479046165943146,-0.052144810557365,0.053772300481796,0.083059594035149) * MODEL5_texOff(vec2(-1,0));
res += mat4(0.218358606100082,0.226168036460876,-0.042219065129757,-0.009346731007099,-0.128879368305206,0.184207335114479,0.040651131421328,0.059863533824682,0.151923522353172,-0.153294458985329,-0.212191268801689,0.015073219314218,-0.108603768050671,-0.018704812973738,0.350675344467163,0.095567002892494) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.248521760106087,0.042939469218254,-0.027437202632427,0.249120563268661,-0.204148530960083,-0.068367734551430,-0.113128803670406,-0.185104981064796,0.100421369075775,-0.105696782469749,-0.208013802766800,-0.046569488942623,0.141242831945419,0.104560106992722,0.339342147111893,0.485988408327103) * MODEL5_texOff(vec2(0,-1));
res += mat4(-0.202072083950043,0.074956953525543,-0.059015195816755,-0.288859307765961,0.518734633922577,-0.416651487350464,0.126618698239326,0.440863996744156,0.240123778581619,-0.362507611513138,-0.150948807597160,0.246433854103088,-0.100148752331734,-0.344571888446808,0.477743208408356,0.064927950501442) * MODEL5_texOff(vec2(0,0));
res += mat4(-0.408234447240829,0.067958220839500,-0.225000321865082,-0.002125977771357,-0.050101697444916,0.205210939049721,-0.339983731508255,-0.240530058741570,0.256966114044189,-0.529006421566010,0.018439374864101,0.153378441929817,-0.258357614278793,0.298467397689819,-0.178692668676376,0.150897577404976) * MODEL5_texOff(vec2(0,1));
res += mat4(0.047060508280993,0.013470483012497,-0.008141016587615,0.026834730058908,-0.002866225084290,0.058024056255817,-0.197180330753326,-0.042321424931288,0.050672721117735,-0.086867846548557,-0.057997640222311,0.009305004961789,-0.276243805885315,-0.066286213696003,0.119796790182590,0.013403171673417) * MODEL5_texOff(vec2(1,-1));
res += mat4(-0.020615950226784,0.153296470642090,0.072401635348797,-0.016862114891410,-0.110151998698711,0.233895599842072,-0.157959982752800,-0.014114646241069,0.359077751636505,-0.204901650547981,0.062763035297394,-0.083098351955414,0.051391202956438,-0.059187319129705,0.105798818171024,-0.039824664592743) * MODEL5_texOff(vec2(1,0));
res += mat4(-0.091475367546082,0.244191691279411,-0.006838528905064,0.037569619715214,0.017672389745712,0.275719672441483,0.014303634874523,-0.011545471847057,-0.032914243638515,0.020746340975165,0.031418710947037,0.118389487266541,-0.001664452254772,0.103100158274174,-0.019028114154935,-0.215623021125793) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.202901497483253,-0.111030302941799,0.007861104793847,-0.115689150989056,-0.116550035774708,-0.047357130795717,-0.156342133879662,-0.011418621987104,-0.025674048811197,0.063588373363018,-0.015131343156099,-0.015369034372270,-0.013871059753001,0.045034065842628,0.179440811276436,-0.072728507220745) * MODEL6_texOff(vec2(-1,-1));
res += mat4(0.651005268096924,0.097082436084747,0.251760572195053,0.050260607153177,0.338947087526321,0.050288520753384,-0.109300144016743,0.040267266333103,-0.156540304422379,0.182992592453957,-0.323636144399643,-0.024532649666071,-0.013008806854486,0.324331462383270,0.056237101554871,0.044587720185518) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.247090131044388,0.070576861500740,-0.199947014451027,-0.055509962141514,0.156033620238304,0.087657302618027,-0.232504308223724,-0.041527554392815,-0.235845923423767,-0.045051869004965,-0.108805179595947,-0.035214968025684,0.078464142978191,0.381674945354462,-0.268400251865387,-0.029278177767992) * MODEL6_texOff(vec2(-1,1));
res += mat4(0.128835499286652,0.038034584373236,-0.065205648541451,0.094491258263588,-0.147355765104294,0.186288893222809,-0.258043915033340,-0.176642283797264,0.171700701117516,-0.001871560234576,0.115756459534168,0.286483675241470,0.117759235203266,0.240996226668358,0.086571343243122,-0.181052953004837) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.291564494371414,-0.070090815424919,-0.177337363362312,-0.464333087205887,-0.068562686443329,-0.236398681998253,-0.380837112665176,-0.249142736196518,-0.006937234662473,-0.165631338953972,0.094220176339149,0.234383285045624,0.138203725218773,0.131007775664330,-0.153476536273956,0.169676080346107) * MODEL6_texOff(vec2(0,0));
res += mat4(0.022645927965641,0.334447979927063,-0.284111917018890,-0.178979560732841,-0.027522912248969,-0.114405311644077,-0.295493215322495,-0.167922973632813,-0.011958717368543,-0.030308436602354,-0.123264901340008,-0.045509599149227,0.026722103357315,0.098754972219467,-0.119279481470585,0.002838457468897) * MODEL6_texOff(vec2(0,1));
res += mat4(0.020373655483127,-0.138329088687897,-0.023497458547354,-0.077830895781517,0.069744974374771,0.033700093626976,-0.188462257385254,-0.076271042227745,-0.087554775178432,-0.030390702188015,0.172897353768349,0.061378717422485,0.004182634409517,-0.030904892832041,-0.158616498112679,-0.235526993870735) * MODEL6_texOff(vec2(1,-1));
res += mat4(-0.234176412224770,-0.036236010491848,-0.248375639319420,0.296388328075409,0.245474860072136,0.075693435966969,-0.048512972891331,-0.080234766006470,-0.049078702926636,-0.144879058003426,-0.242390692234039,-0.095729947090149,0.173182442784309,0.289912164211273,-0.071210578083992,0.051676198840141) * MODEL6_texOff(vec2(1,0));
res += mat4(-0.021943027153611,0.138523995876312,0.266620665788651,0.076299540698528,0.023802286013961,0.034509636461735,-0.084888786077499,-0.098381623625755,0.070922583341599,-0.167749688029289,-0.221908241510391,-0.192669495940208,0.187764301896095,0.297068357467651,0.001855777576566,0.058469045907259) * MODEL6_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.362893313169479,1.333146691322327,0.107886962592602,1.044577956199646) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND MODEL4
//!BIND MODEL5
//!BIND MODEL6
//!SAVE MODEL3
//!DESC [AiUpscale_Fast_2x_LineArt_RT] mapping 3_3

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.080422513186932,0.092760801315308,-0.063474558293819,0.111290469765663);
res += mat4(-0.059298384934664,-0.099694989621639,0.056295074522495,0.173447966575623,0.065626844763756,0.026470702141523,-0.120126873254776,0.057246167212725,0.132354870438576,-0.165744885802269,0.019678629934788,0.087578579783440,-0.062949903309345,0.084998466074467,-0.346592664718628,0.021298894658685) * MODEL4_texOff(vec2(-1,-1));
res += mat4(-0.155792236328125,-0.035228531807661,0.236386954784393,0.203883662819862,0.177859082818031,0.041120432317257,-0.265892595052719,-0.095432206988335,0.224306181073189,0.013867549598217,0.352852791547775,-0.349726080894470,0.310358196496964,0.023172086104751,-0.462555259466171,-0.328225672245026) * MODEL4_texOff(vec2(-1,0));
res += mat4(-0.230740457773209,-0.070868104696274,0.270989030599594,0.401460886001587,0.114108718931675,-0.014242826960981,-0.171812042593956,-0.174242570996284,-0.062964551150799,-0.021321106702089,-0.391922265291214,0.092304654419422,0.004888503346592,0.001283021993004,-0.539543807506561,-0.042742758989334) * MODEL4_texOff(vec2(-1,1));
res += mat4(0.002791229402646,-0.034586001187563,-0.098353959619999,0.047983288764954,0.092977367341518,0.004932080861181,0.101493045687675,0.037689276039600,0.135908037424088,-0.056923877447844,-0.164016589522362,-0.027807626873255,-0.049171023070812,0.103616736829281,-0.106537386775017,-0.096819713711739) * MODEL4_texOff(vec2(0,-1));
res += mat4(-0.250001281499863,-0.013295440003276,0.149793967604637,0.073776200413704,-0.616896569728851,0.146024569869041,-0.051104437559843,-0.290212869644165,0.035083539783955,0.291418701410294,0.127077832818031,0.325680196285248,-0.128500238060951,0.051970634609461,0.310304731130600,0.128091588616371) * MODEL4_texOff(vec2(0,0));
res += mat4(0.037501499056816,-0.105386383831501,-0.354792296886444,-0.112956956028938,0.362502634525299,-0.216524153947830,-0.143964484333992,-0.723870933055878,0.016600590199232,-0.165455788373947,-0.213750451803207,-0.021170577034354,-0.071390755474567,0.017592830583453,0.158492460846901,0.421944797039032) * MODEL4_texOff(vec2(0,1));
res += mat4(0.107856363058090,0.006235341541469,0.229416295886040,0.068255141377449,-0.027177168056369,0.006768127903342,-0.072095364332199,-0.098253339529037,-0.106369480490685,-0.031955387443304,-0.026212312281132,-0.136958181858063,-0.257343053817749,0.220008715987206,-0.090704910457134,0.012752343900502) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.164221242070198,-0.028604878112674,0.258741259574890,-0.062459737062454,-0.280377537012100,0.068184599280357,-0.075850747525692,0.122770771384239,-0.008046247996390,0.032230786979198,-0.021223051473498,-0.448291450738907,0.340278744697571,0.036647222936153,-0.191745266318321,0.293777316808701) * MODEL4_texOff(vec2(1,0));
res += mat4(-0.211134120821953,0.079747438430786,-0.118518315255642,0.119701236486435,0.193560734391212,-0.029939467087388,-0.023065574467182,0.065340869128704,0.092594690620899,0.064918816089630,0.014860524795949,-0.143318518996239,0.163201808929443,0.141318976879120,0.097599796950817,0.151253208518028) * MODEL4_texOff(vec2(1,1));
res += mat4(0.001533430651762,0.035534720867872,-0.307800948619843,-0.131306976079941,0.044731453061104,0.053996957838535,0.017922397702932,0.116083525121212,-0.007202440407127,0.085654713213444,-0.078316383063793,-0.152288451790810,0.058594960719347,-0.065265268087387,0.337461054325104,-0.059956520795822) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.145348072052002,0.071195885539055,-0.570189237594604,-0.419178605079651,0.041796982288361,0.030785601586103,0.088561996817589,-0.125660642981529,-0.118058331310749,0.130119785666466,-0.238396868109703,-0.597230672836304,0.147695541381836,0.112255692481995,0.429119884967804,-0.323108375072479) * MODEL5_texOff(vec2(-1,0));
res += mat4(0.013918645679951,-0.066170267760754,-0.454096913337708,0.074654176831245,-0.067441642284393,-0.033320359885693,-0.148604542016983,-0.005625580437481,-0.202446311712265,0.060064982622862,0.020850466564298,-0.104558296501637,-0.009706373326480,-0.001572385663167,0.186719596385956,-0.149858862161636) * MODEL5_texOff(vec2(-1,1));
res += mat4(-0.141387656331062,-0.201283365488052,-0.120502866804600,-0.077914886176586,-0.383688926696777,0.157042965292931,-0.095820263028145,-0.313450008630753,-0.113600589334965,-0.034262444823980,0.136305674910545,0.046755068004131,0.073936022818089,0.199761539697647,0.110784143209457,0.159759789705276) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.134372204542160,-0.087228365242481,-0.109231665730476,0.392341077327728,-0.035867661237717,0.164647057652473,-0.024501679465175,-0.157860055565834,-0.142739042639732,0.035159669816494,-0.012859541922808,0.241531908512115,-0.396131575107574,-0.404447078704834,0.138387590646744,0.193342402577400) * MODEL5_texOff(vec2(0,0));
res += mat4(-0.159261882305145,-0.108773089945316,-0.238620489835739,0.031129656359553,-0.001781972823665,-0.025533866137266,-0.215921908617020,0.008356316946447,-0.053266335278749,0.064744018018246,0.389706820249557,0.039977669715881,0.057394370436668,-0.050621163100004,0.105899013578892,-0.022090155631304) * MODEL5_texOff(vec2(0,1));
res += mat4(0.277503728866577,-0.246422931551933,-0.154431298375130,0.225448325276375,-0.209048122167587,0.032254446297884,-0.035646341741085,-0.037599321454763,0.054671056568623,-0.024978626519442,0.090602822601795,-0.111361443996429,-0.112796738743782,-0.016154948621988,-0.035355642437935,-0.167526856064796) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.297954261302948,-0.452559471130371,-0.071763671934605,0.269267529249191,-0.381220757961273,0.122191250324249,0.039566833525896,-0.449295192956924,-0.175063416361809,-0.141783282160759,-0.091631561517715,-0.299044430255890,-0.209884628653526,-0.168846279382706,-0.180575683712959,-0.278800964355469) * MODEL5_texOff(vec2(1,0));
res += mat4(0.219085872173309,-0.209989041090012,0.030971422791481,0.215397536754608,0.096186332404613,-0.018901046365499,-0.114562317728996,-0.215285867452621,0.043703876435757,-0.046341702342033,-0.026133958250284,-0.163726761937141,-0.059604872018099,0.027394969016314,-0.025068499147892,-0.092164285480976) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.070466227829456,-0.005348711274564,0.082963474094868,0.113263219594955,-0.032556023448706,0.046662416309118,-0.116524919867516,0.020988941192627,-0.069204226136208,0.045450679957867,-0.096142619848251,-0.005972453393042,0.058787744492292,0.104927599430084,-0.371455520391464,-0.242383569478989) * MODEL6_texOff(vec2(-1,-1));
res += mat4(0.010104800574481,-0.045464839786291,-0.225468173623085,0.342261999845505,0.000655925599858,0.080291487276554,0.064409069716930,0.154206439852715,0.035448350012302,0.053210914134979,0.312543481588364,0.115913048386574,-0.018442444503307,0.078296601772308,-0.082736924290657,-0.348500251770020) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.131797641515732,0.044564250856638,0.538302838802338,0.007770739495754,0.006889044772834,0.091375261545181,-0.459290593862534,0.010989718139172,0.288511097431183,-0.028605500236154,0.183466494083405,-0.134497120976448,-0.012141590937972,0.014812803827226,-0.354723632335663,0.043062336742878) * MODEL6_texOff(vec2(-1,1));
res += mat4(-0.100102379918098,0.013128692284226,-0.268601715564728,-0.050696436315775,-0.160649508237839,0.332274615764618,-0.247416049242020,0.021560540422797,-0.055541962385178,0.165695264935493,-0.253377765417099,-0.088311955332756,0.211302101612091,0.502332985401154,0.018315533176064,-0.091982990503311) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.330321937799454,-0.065931826829910,-0.161591023206711,-0.174633547663689,-0.135744020342827,0.309696853160858,0.067349083721638,-0.623372912406921,0.055290848016739,0.115469045937061,0.020621085539460,-0.045813027769327,-0.038749229162931,-0.481016069650650,-0.172648370265961,0.130702972412109) * MODEL6_texOff(vec2(0,0));
res += mat4(0.174509927630424,0.017074586823583,0.079981058835983,-0.075386993587017,0.154526457190514,0.138733357191086,-0.206446349620819,-0.173441454768181,0.013793274760246,0.080405183136463,-0.435677349567413,-0.087873168289661,-0.216127514839172,-0.067190200090408,-0.011099527589977,0.068665303289890) * MODEL6_texOff(vec2(0,1));
res += mat4(0.239963814616203,0.012215927243233,0.052321296185255,0.154625669121742,0.140347883105278,0.048255387693644,0.157017141580582,0.106390818953514,-0.303425282239914,0.254116743803024,-0.123174838721752,-0.127712801098824,-0.068973518908024,0.272816061973572,-0.073417164385319,-0.083453319966793) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.314236253499985,0.079260759055614,0.093599095940590,0.375727802515030,0.136898070573807,0.182271227240562,0.022567540407181,-0.719025194644928,-0.175698667764664,0.195922359824181,0.046436712145805,-0.213853701949120,0.099672913551331,0.469463855028152,-0.082207150757313,-0.176565259695053) * MODEL6_texOff(vec2(1,0));
res += mat4(0.074153341352940,-0.018832277506590,-0.063167333602905,0.110524751245975,0.140775024890900,-0.025417199358344,0.146608367562294,-0.078804738819599,0.175409018993378,0.110106796026230,0.087565414607525,-0.042387623339891,-0.096716508269310,0.131538540124893,0.060746099799871,0.044933076947927) * MODEL6_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.234880536794662,0.908308327198029,0.123141139745712,-0.065067417919636) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.231176167726517,-0.021616227924824,-0.161771148443222,-0.104334846138954);
res += mat4(0.209094554185867,-0.071183145046234,-0.151701703667641,0.010871252976358,0.081551663577557,-0.088576436042786,0.159508720040321,-0.240371674299240,-0.064443096518517,-0.044558499008417,0.003132585436106,0.024197192862630,0.237043738365173,-0.045472502708435,0.134164407849312,0.164068102836609) * MODEL4_texOff(vec2(-1,-1));
res += mat4(0.060194000601768,-0.280495733022690,-0.191140145063400,-0.335960835218430,-0.183712616562843,0.035519246011972,-0.065813414752483,-0.148280799388885,0.171011373400688,-0.078826345503330,-0.010129019618034,-0.300742179155350,0.341914266347885,-0.186090871691704,0.326402336359024,0.004460282158107) * MODEL4_texOff(vec2(-1,0));
res += mat4(-0.050770640373230,-0.002385879168287,0.090650960803032,-0.136145323514938,-0.236808314919472,0.016860025003552,0.407755255699158,-0.408972740173340,0.090413130819798,-0.030452556908131,-0.185495391488075,0.001287930645049,-0.135207056999207,-0.132202997803688,0.013094061054289,-0.090461924672127) * MODEL4_texOff(vec2(-1,1));
res += mat4(-0.065475046634674,0.085731104016304,0.141418233513832,-0.067819997668266,0.050428170710802,0.098161228001118,0.082161210477352,0.149852961301804,0.073452636599541,-0.005266700405627,0.029681812971830,0.023330822587013,0.226234689354897,-0.034696161746979,0.118812702596188,-0.108472824096680) * MODEL4_texOff(vec2(0,-1));
res += mat4(-0.041206981986761,-0.110622413456440,0.168355524539948,0.120029099285603,-0.192997559905052,0.175647661089897,-0.214923664927483,-0.187569692730904,0.191569387912750,0.291657239198685,0.349773854017258,-0.614951252937317,0.407997876405716,0.355280756950378,0.410353809595108,-0.081773594021797) * MODEL4_texOff(vec2(0,0));
res += mat4(0.038225710391998,0.237609714269638,0.037998802959919,-0.140570327639580,0.199384033679962,-0.308548271656036,-0.126897588372231,0.156314671039581,-0.117135733366013,-0.142014294862747,-0.131423473358154,0.165218681097031,-0.111642166972160,0.192088827490807,0.147038653492928,0.063074357807636) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.030757332220674,0.224428132176399,0.155448555946350,0.012995689176023,0.205243393778801,0.259558647871017,0.136846423149109,-0.021240461617708,0.003471329575405,-0.167257770895958,-0.058735176920891,0.130789965391159,-0.038030289113522,0.094498418271542,0.055104624480009,0.042904987931252) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.198588147759438,-0.399413168430328,-0.159738659858704,0.271710008382797,0.413255035877228,0.392444700002670,0.073870472609997,0.115153424441814,0.166736707091331,-0.212483987212181,-0.068500533699989,0.347432643175125,-0.111718945205212,0.145093351602554,0.030278818681836,0.150732055306435) * MODEL4_texOff(vec2(1,0));
res += mat4(-0.142761975526810,0.059299755841494,0.149258673191071,-0.075874216854572,0.277581006288528,-0.026728626340628,0.017575874924660,-0.175867915153503,0.082773379981518,-0.072326436638832,-0.022013174369931,-0.126582801342010,-0.082523465156555,0.210673078894615,0.102318987250328,-0.075504273176193) * MODEL4_texOff(vec2(1,1));
res += mat4(0.089019261300564,-0.086117766797543,0.087752416729927,-0.059510186314583,0.006214289925992,-0.074744246900082,-0.247502073645592,0.126435816287994,-0.137969344854355,0.173311010003090,0.021010652184486,0.270286560058594,0.132721096277237,0.007002030033618,-0.155472666025162,0.037985391914845) * MODEL5_texOff(vec2(-1,-1));
res += mat4(-0.226484119892120,-0.104600287973881,0.129309028387070,-0.092227838933468,-0.145965427160263,-0.326736450195313,-0.246871963143349,-0.145050540566444,-0.145872682332993,0.093180865049362,-0.070582561194897,-0.027723362669349,0.236520126461983,-0.139665901660919,-0.287506639957428,-0.523826241493225) * MODEL5_texOff(vec2(-1,0));
res += mat4(0.069681547582150,-0.027276189997792,-0.134664669632912,0.009528086520731,0.053686901926994,-0.189194634556770,-0.115105837583542,0.085505209863186,0.079662181437016,0.047885276377201,-0.055480170994997,-0.088585600256920,-0.118452541530132,0.003413473023102,-0.268796294927597,-0.227037832140923) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.066158019006252,-0.097174979746342,0.089615948498249,0.184899926185608,-0.035434704273939,-0.068734414875507,-0.132050544023514,-0.138236254453659,-0.122454464435577,-0.011257017962635,0.042632564902306,-0.009773405268788,0.076384142041206,0.057107016444206,-0.142033547163010,0.034833576530218) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.191626012325287,-0.307166934013367,0.412031799554825,-0.000670320121571,-0.618516087532043,0.119093045592308,0.390688240528107,0.098125904798508,-0.327631264925003,0.023425929248333,0.194824457168579,0.525729358196259,0.079149067401886,-0.050998602062464,0.513277888298035,-0.109490342438221) * MODEL5_texOff(vec2(0,0));
res += mat4(-0.067117437720299,-0.044557277113199,-0.263410627841949,0.091156244277954,0.184492215514183,0.129525095224380,0.048963487148285,0.018964819610119,-0.231543630361557,-0.500999510288239,0.226389154791832,-0.069403313100338,0.197680205106735,-0.044451199471951,-0.042908869683743,-0.188258439302444) * MODEL5_texOff(vec2(0,1));
res += mat4(0.057112839072943,-0.222441732883453,0.159730717539787,0.066248044371605,0.041085910052061,0.097251810133457,0.118656195700169,0.118200898170471,0.021688273176551,-0.314707696437836,-0.153087079524994,-0.164803877472878,0.194986730813980,-0.025287430733442,-0.003088593715802,-0.263733386993408) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.064890287816525,-0.085552476346493,0.144414544105530,-0.071032933890820,0.202795594930649,-0.161031901836395,0.025957226753235,0.092383660376072,-0.117857709527016,-0.399945974349976,0.249086275696754,0.213766828179359,-0.307560831308365,0.125365853309631,-0.068145006895065,-0.579784035682678) * MODEL5_texOff(vec2(1,0));
res += mat4(0.112158335745335,-0.390264749526978,-0.042843848466873,-0.081971585750580,0.236419752240181,-0.254464447498322,-0.069461457431316,-0.132530599832535,0.029729092493653,0.084802329540253,0.297055631875992,0.463870912790298,-0.020869385451078,0.165897846221924,-0.031025009229779,-0.153426736593246) * MODEL5_texOff(vec2(1,1));
res += mat4(0.098576515913010,0.069402769207954,0.168064981698990,-0.005748488474637,0.091146916151047,-0.105595059692860,0.153611034154892,0.348318159580231,0.055410634726286,0.063996613025665,0.073373690247536,-0.089650191366673,0.347135186195374,-0.218887537717819,0.346803128719330,0.159182667732239) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.004688510671258,0.265388578176498,0.663721024990082,0.492099612951279,-0.164578184485435,-0.027780696749687,0.324500650167465,0.094525799155235,-0.024136515334249,-0.025322366505861,0.006828887853771,0.457218647003174,0.100246787071228,0.181133702397346,0.373889863491058,-0.093465723097324) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.069338053464890,0.068555682897568,0.283908903598785,0.165819212794304,0.102146834135056,0.045335967093706,0.182954713702202,0.232059523463249,0.035634703934193,-0.121586896479130,-0.427360475063324,-0.240066230297089,0.373958289623260,0.002187355421484,0.336123347282410,0.258908271789551) * MODEL6_texOff(vec2(-1,1));
res += mat4(0.151396155357361,0.184799626469612,0.183704584836960,0.089963793754578,0.425256073474884,-0.163138449192047,0.006525745615363,0.088437423110008,-0.008186903782189,0.134973809123039,0.038895070552826,0.175537019968033,0.553316891193390,0.107955791056156,0.021805688738823,0.027084654197097) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.025950681418180,-0.013153066858649,-0.470042407512665,-0.195637702941895,-0.671337783336639,-0.146491646766663,-0.060139037668705,-0.034682724624872,-0.388423115015030,-0.053973082453012,-0.131029322743416,0.137581095099449,0.063527330756187,-0.058309476822615,0.221195831894875,-0.248154655098915) * MODEL6_texOff(vec2(0,0));
res += mat4(0.165806636214256,-0.045153055340052,-0.108534820377827,0.256414175033569,-0.145311713218689,-0.171169042587280,-0.179832845926285,0.158310502767563,-0.402442395687103,0.012170054949820,0.130122199654579,0.265688091516495,0.470809429883957,-0.063060067594051,0.315048277378082,0.040902074426413) * MODEL6_texOff(vec2(0,1));
res += mat4(0.112522982060909,0.067469015717506,0.025783047080040,0.057469312101603,-0.032331854104996,0.542091906070709,-0.037790514528751,0.059344783425331,0.128601983189583,-0.017635349184275,-0.013296362943947,-0.028566922992468,0.198139160871506,0.266774773597717,0.000895101169590,0.121563114225864) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.324420690536499,-0.291052132844925,-0.260176599025726,-0.131969556212425,-0.198072612285614,0.305880308151245,0.110397808253765,0.295334786176682,-0.159009143710136,0.156779408454895,0.047957681119442,-0.146274209022522,0.374409765005112,0.220547065138817,0.041851021349430,-0.152529925107956) * MODEL6_texOff(vec2(1,0));
res += mat4(0.108397766947746,-0.396741330623627,-0.069514743983746,-0.112065538764000,-0.081878453493118,-0.082414187490940,-0.108673751354218,-0.004692309536040,-0.022178987041116,-0.144196733832359,-0.039825752377510,0.132728740572929,0.247458636760712,0.219215974211693,0.201441451907158,-0.165623784065247) * MODEL6_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.158107891678810,-0.034763123840094,-0.128555983304977,0.305889040231705) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND MODEL1
//!BIND MODEL2
//!BIND MODEL3
//!SAVE MODEL4
//!DESC [AiUpscale_Fast_2x_LineArt_RT] mapping 4_1

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.117517225444317,-0.071299411356449,-0.017691923305392,-0.107226081192493);
res += mat4(0.044409979134798,0.049563039094210,0.055495779961348,0.000459660659544,-0.033617664128542,0.253040641546249,-0.033765420317650,0.109158053994179,0.035014696419239,-0.142656192183495,-0.065599441528320,0.093656502664089,0.063065603375435,0.017433898523450,0.063682921230793,-0.027208741754293) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.090333700180054,0.115618690848351,0.042285550385714,0.024968804791570,0.048090983182192,0.096586577594280,-0.052181500941515,0.100583881139755,-0.120951205492020,0.117220245301723,-0.038431432098150,0.179718226194382,0.080572851002216,-0.205345720052719,0.150831043720245,-0.194566860795021) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.050444431602955,0.045084275305271,-0.003114552004263,0.060113392770290,-0.058630444109440,0.052747849375010,0.009019774384797,0.065197996795177,0.088822491466999,-0.124340854585171,0.039733126759529,-0.061494000256062,0.009653366170824,-0.059644743800163,0.007201933301985,-0.002565964125097) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.271394997835159,0.080086596310139,0.090492941439152,0.153583616018295,-0.011093128472567,0.137787401676178,-0.017381284385920,0.207110926508904,-0.117876268923283,0.057402011007071,-0.085437096655369,-0.215907052159309,0.289536029100418,-0.111432120203972,0.111764304339886,0.066480614244938) * MODEL1_texOff(vec2(0,-1));
res += mat4(0.554963827133179,-0.233698651194572,0.000389313820051,-0.093314960598946,-0.118032872676849,0.145282417535782,0.028558596968651,-0.063881203532219,-0.092480480670929,0.350497514009476,0.043337527662516,0.018777752295136,0.221894502639771,0.461202532052994,0.005645560566336,0.308750510215759) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.053717248141766,0.109382316470146,-0.012939383275807,0.223899245262146,-0.112380146980286,0.078578263521194,-0.009372025728226,0.059340626001358,0.294513851404190,-0.166850417852402,0.084770239889622,-0.227934122085571,0.189908653497696,-0.094878628849983,0.033151675015688,-0.059201128780842) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.019443729892373,0.014064440503716,0.030147613957524,0.075880832970142,0.042337529361248,-0.107460439205170,0.014733826741576,-0.052227988839149,-0.019348092377186,-0.003260387573391,0.068487606942654,0.083755917847157,-0.030424250289798,-0.060402147471905,0.014236762188375,-0.198717623949051) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.107412897050381,0.099758908152580,0.016470469534397,-0.002714938251302,0.061811875551939,-0.111302495002747,0.081456124782562,0.144057437777519,0.137434303760529,-0.039289895445108,0.107512421905994,0.302643835544586,0.315320909023285,-0.105538949370384,0.178962990641594,0.213382631540298) * MODEL1_texOff(vec2(1,0));
res += mat4(-0.030147088691592,0.048659961670637,0.002810292411596,0.095173396170139,-0.074170514941216,0.025060551241040,0.063852027058601,-0.000344720174326,-0.008195002563298,0.025647597387433,0.051517788320780,-0.103408649563789,0.247112169861794,-0.071315072476864,0.023571431636810,-0.187029823660851) * MODEL1_texOff(vec2(1,1));
res += mat4(-0.168202891945839,0.125207737088203,-0.000511710532010,0.034721836447716,0.147953644394875,0.127031460404396,-0.033046834170818,-0.015311032533646,0.114975839853287,-0.341077327728271,0.055031862109900,-0.148086264729500,-0.051785904914141,-0.086564831435680,-0.058230001479387,0.051674619317055) * MODEL2_texOff(vec2(-1,-1));
res += mat4(0.012250134721398,-0.048949271440506,-0.030574373900890,0.089904479682446,0.202820375561714,0.084856256842613,-0.010670532472432,0.030338322743773,0.057019136846066,-0.159695163369179,0.241263821721077,-0.139551162719727,0.173075094819069,0.175190880894661,0.042359091341496,0.129141628742218) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.017620399594307,0.012611811980605,0.042110607028008,-0.086266435682774,0.016719583421946,-0.084419757127762,-0.000875748286489,-0.037305958569050,0.289881318807602,-0.084678478538990,0.043220989406109,-0.154729396104813,0.130752295255661,-0.123250655829906,-0.006906350608915,-0.090984858572483) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.286306053400040,-0.008099372498691,0.075367890298367,0.201019242405891,0.479944407939911,0.041942093521357,-0.032026767730713,0.357762515544891,0.149784833192825,-0.248968973755836,-0.093793116509914,-0.297954976558685,0.148582190275192,0.154237508773804,-0.091213323175907,-0.149305552244186) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.289208680391312,0.317691087722778,0.067471362650394,0.038316283375025,-0.433577299118042,0.312460064888000,-0.036707796156406,0.352512866258621,0.182712063193321,-0.307480871677399,0.018301278352737,-0.386047542095184,-0.003288746811450,0.633919060230255,0.227092519402504,0.402631819248199) * MODEL2_texOff(vec2(0,0));
res += mat4(-0.364590346813202,0.069366268813610,-0.009294502437115,0.104999564588070,0.359561830759048,-0.233922913670540,0.062713839113712,-0.170562520623207,-0.242278963327408,0.044526543468237,-0.102174907922745,0.167486280202866,0.608663022518158,-0.098781399428844,-0.075857952237129,-0.178355962038040) * MODEL2_texOff(vec2(0,1));
res += mat4(0.019836701452732,-0.103162981569767,-0.000534846680239,-0.163444712758064,0.168187305331230,0.050879977643490,-0.097872301936150,0.148920238018036,0.040384747087955,-0.032656561583281,-0.015541122294962,-0.121609814465046,0.004803662654012,-0.024582108482718,-0.045926239341497,0.092605009675026) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.063824273645878,-0.055863026529551,0.012821259908378,0.099481098353863,0.057454120367765,0.016203653067350,-0.040118921548128,0.262548565864563,0.201123744249344,-0.025629280135036,0.040921505540609,-0.189635545015335,0.065886735916138,-0.080999620258808,-0.028716757893562,0.203248992562294) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.164371579885483,0.044982157647610,0.026525061577559,0.092314429581165,0.081689268350601,-0.060914505273104,-0.008414132520556,-0.188365474343300,0.127140820026398,-0.076199777424335,0.014326153323054,-0.121851854026318,0.107812277972698,-0.008638504892588,-0.092598564922810,0.012438545934856) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.103734165430069,0.127984702587128,0.041339982300997,-0.029253257438540,0.035831913352013,-0.013236969709396,-0.100333362817764,0.026869019493461,0.080134727060795,0.118463315069675,0.017843473702669,0.053647790104151,-0.062753431499004,0.152002662420273,0.061884980648756,-0.072246670722961) * MODEL3_texOff(vec2(-1,-1));
res += mat4(0.058751337230206,-0.430044710636139,-0.039012424647808,-0.190245553851128,0.001160469604656,0.040253683924675,-0.252264648675919,0.166007772088051,0.132187500596046,0.196656450629234,-0.022050911560655,0.096510589122772,-0.074749588966370,-0.126952558755875,0.070591025054455,-0.264114022254944) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.261207699775696,0.122966162860394,0.005589888896793,0.063497886061668,-0.096367165446281,0.096443310379982,-0.052153304219246,0.076141633093357,0.040769945830107,0.018387829884887,0.011909164488316,0.029993807896972,0.078951947391033,0.004738412331790,0.013654297217727,0.033852133899927) * MODEL3_texOff(vec2(-1,1));
res += mat4(-0.143882393836975,-0.110235013067722,0.010957606136799,0.134199574589729,-0.112271405756474,-0.128445446491241,-0.096610903739929,-0.166220247745514,-0.296687722206116,-0.190211713314056,0.035875897854567,-0.062832430005074,-0.084888085722923,-0.259820759296417,0.110459901392460,0.189165294170380) * MODEL3_texOff(vec2(0,-1));
res += mat4(0.186213955283165,0.069401167333126,-0.111178867518902,-0.288650721311569,0.039630409330130,-0.500145196914673,0.635309100151062,-0.557660579681396,0.238455757498741,-0.338624179363251,-0.071285955607891,0.014959396794438,-0.071448527276516,-0.211680218577385,0.127154663205147,0.280659914016724) * MODEL3_texOff(vec2(0,0));
res += mat4(-0.355469107627869,0.045506723225117,-0.077445633709431,0.180777415633202,-0.238064572215080,0.047337844967842,-0.136891975998878,0.174400612711906,-0.223718702793121,0.010238034650683,-0.074667461216450,0.041116900742054,-0.189211398363113,0.106760852038860,0.077334947884083,0.123168662190437) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.031814031302929,0.012399710714817,0.007210162002593,-0.130014047026634,-0.033677369356155,0.007982145994902,-0.017061561346054,-0.051405414938927,-0.116084367036819,-0.040778752416372,0.061537083238363,-0.144355416297913,-0.010216131806374,0.072331480681896,-0.062164124101400,-0.110586926341057) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.078273572027683,-0.039367448538542,-0.040617350488901,0.046276293694973,-0.011639011092484,-0.068104922771454,-0.051363807171583,-0.190701454877853,0.264787971973419,0.105635471642017,-0.081333197653294,-0.029474142938852,-0.142820939421654,0.076923280954361,-0.165866807103157,-0.124669969081879) * MODEL3_texOff(vec2(1,0));
res += mat4(-0.004839443601668,-0.003540440928191,0.019909752532840,-0.064901053905487,-0.146058335900307,0.037388503551483,-0.086071103811264,-0.016544569283724,-0.395709753036499,0.156314328312874,-0.084159113466740,0.076660811901093,0.102170944213867,-0.063257053494453,-0.067527547478676,0.060466788709164) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.471280932426453,-0.234713166952133,0.996697127819061,-0.198741450905800) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.091260455548763,0.172468617558479,-0.061040524393320,0.010817800648510);
res += mat4(-0.014138868078589,0.012252984568477,-0.093150056898594,-0.019651601091027,0.035225048661232,-0.013909452594817,0.056478574872017,-0.010760409757495,0.055931929498911,0.034046445041895,0.053436353802681,0.077470779418945,0.002734185894951,0.124289244413376,0.246331751346588,0.145371988415718) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.031655363738537,0.057017520070076,-0.341363400220871,-0.003533803159371,-0.133211582899094,-0.015748403966427,0.005262432619929,0.019612243399024,-0.048949167132378,0.074914686381817,0.126455485820770,0.191827312111855,0.004309693817049,-0.002019374398515,0.120524168014526,-0.093386970460415) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.061781521886587,-0.022092968225479,0.064853809773922,-0.090147458016872,-0.076096981763840,-0.073859848082066,-0.033927764743567,0.207568749785423,-0.034749127924442,0.027035331353545,-0.086366757750511,-0.147664159536362,-0.023943873122334,0.039373777806759,-0.024563895538449,0.313968449831009) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.266680389642715,-0.066637635231018,-0.230073601007462,0.123219996690750,-0.100347496569157,-0.210928991436958,-0.205896496772766,0.406112849712372,-0.199606627225876,0.418388009071350,0.075830996036530,-0.108039237558842,-0.214833289384842,0.176992952823639,0.009731958620250,-0.023889213800430) * MODEL1_texOff(vec2(0,-1));
res += mat4(0.088849082589149,-0.084197849035263,0.348927289247513,-0.100312553346157,0.497063130140305,-0.185526654124260,0.021979944780469,-0.107881322503090,-0.424198985099792,-0.235923394560814,-0.192026123404503,0.161297947168350,0.348888397216797,-0.216487795114517,-0.325842589139938,-0.083867467939854) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.173052459955215,-0.129908174276352,-0.043558184057474,0.102588258683681,0.176314547657967,0.013996258378029,0.058567225933075,-0.318287611007690,0.419291257858276,0.053767785429955,0.171288654208183,-0.033312931656837,-0.085246168076992,0.124984867870808,0.031799610704184,0.249219581484795) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.188529625535011,0.011601989157498,-0.034347612410784,0.022702582180500,0.094101324677467,-0.187476232647896,-0.047300286591053,0.115991041064262,-0.025804419070482,0.099996410310268,0.098716147243977,0.022708063945174,-0.012833393178880,0.084004864096642,-0.041433978825808,-0.035942688584328) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.051247797906399,0.204678475856781,-0.445968717336655,-0.075397744774818,0.134613737463951,0.064772568643093,-0.003352917265147,0.112987570464611,0.179613932967186,0.193818852305412,-0.079924412071705,0.116730347275734,0.267742723226547,-0.043028641492128,-0.079770565032959,-0.038019265979528) * MODEL1_texOff(vec2(1,0));
res += mat4(0.044540829956532,0.122393995523453,-0.083443872630596,-0.063314318656921,-0.017025580629706,0.112718366086483,-0.068433657288551,-0.115348920226097,-0.065639026463032,-0.039105605334044,0.161655828356743,0.004426380153745,0.077878557145596,0.158015325665474,0.099772259593010,-0.032447047531605) * MODEL1_texOff(vec2(1,1));
res += mat4(0.067589975893497,0.020160812884569,-0.143607676029205,-0.187397316098213,-0.075303472578526,-0.003255894407630,-0.080317087471485,-0.068259991705418,0.248352512717247,-0.129354029893875,-0.243519484996796,-0.047065030783415,0.156931459903717,-0.076434619724751,0.153532549738884,-0.038423165678978) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.002961435820907,-0.242554530501366,0.088161304593086,-0.043756905943155,-0.124556340277195,0.045789614319801,0.106226392090321,-0.254539817571640,0.000535965140443,0.016094176098704,0.397949904203415,-0.219368577003479,-0.218489125370979,-0.025491503998637,-0.048038590699434,-0.177187353372574) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.019923863932490,-0.037009179592133,0.047771003097296,-0.257783144712448,-0.079392030835152,0.043188862502575,0.005183532834053,0.142608806490898,-0.089410677552223,0.093528971076012,0.043845646083355,0.175628706812859,0.016006402671337,-0.106663413345814,-0.009319014847279,-0.013898063451052) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.148339673876762,-0.148469135165215,-0.005110457539558,-0.188355520367622,-0.245452821254730,0.007217363454401,-0.344742923974991,-0.052500750869513,0.294947564601898,-0.036014370620251,0.088751509785652,-0.191353514790535,0.126815587282181,-0.413836747407913,-0.226379692554474,0.317880392074585) * MODEL2_texOff(vec2(0,-1));
res += mat4(-0.111953943967819,-0.138658672571182,-0.009458214975893,-0.088874623179436,0.186643034219742,0.079104989767075,0.320732951164246,-0.470689862966537,0.111245363950729,0.105193115770817,-0.061996594071388,-0.252021521329880,0.029210779815912,0.016498025506735,0.197447940707207,-0.336949139833450) * MODEL2_texOff(vec2(0,0));
res += mat4(0.049805138260126,-0.156331852078438,0.114129744470119,-0.067241333425045,-0.139328092336655,-0.078069604933262,-0.017380883917212,0.097005091607571,0.028776548802853,-0.175414755940437,0.055106084793806,-0.087109811604023,-0.023176729679108,-0.128387555480003,0.133789807558060,-0.003822502680123) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.078087568283081,-0.079762876033783,0.000113652567961,0.080423526465893,-0.026458870619535,-0.060408886522055,-0.001860324642621,-0.133545055985451,0.006340429186821,-0.008122627623379,0.038055356591940,-0.322343438863754,0.091591805219650,-0.271626174449921,-0.113404884934425,0.172902837395668) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.043335124850273,-0.236022785305977,0.222111538052559,-0.228374868631363,-0.021646760404110,-0.027308331802487,-0.055238015949726,-0.076245106756687,0.063134670257568,-0.092178523540497,-0.100348375737667,0.021361552178860,-0.151061207056046,0.078404039144516,0.094797655940056,0.074884675443172) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.034798514097929,0.009557521902025,0.037878211587667,0.147201523184776,-0.004505361896008,0.020484179258347,-0.009264698252082,0.009065291844308,0.065060511231422,0.011407679878175,0.105244159698486,0.122637227177620,-0.039224579930305,-0.122670002281666,-0.006468997802585,-0.027261247858405) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.044134117662907,-0.010510777123272,0.020615270361304,0.088353209197521,-0.053581316024065,-0.175756826996803,-0.109677672386169,0.092914648354053,0.127369210124016,0.025701433420181,0.030683374032378,-0.199068456888199,0.150483340024948,0.071270488202572,0.043799050152302,0.010701929219067) * MODEL3_texOff(vec2(-1,-1));
res += mat4(0.091941229999065,0.028538806363940,-0.056218985468149,0.025571631267667,0.047259408980608,0.133390650153160,-0.257985442876816,-0.225057616829872,0.070773310959339,0.073010593652725,-0.020618077367544,0.000679150747601,-0.054015249013901,0.034684460610151,0.059744216501713,-0.064836084842682) * MODEL3_texOff(vec2(-1,0));
res += mat4(0.022036315873265,-0.042641874402761,-0.042388945817947,0.073235310614109,-0.132736787199974,0.012322154827416,-0.133662834763527,0.186976268887520,0.002820282708853,-0.013396430760622,-0.004584581591189,-0.074456103146076,0.123772628605366,0.042074870318174,0.173178851604462,0.188928410410881) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.044868841767311,0.262349337339401,0.218109562993050,-0.358587145805359,0.026232207193971,-0.042669799178839,0.130901724100113,0.019147638231516,0.055996149778366,0.098881818354130,0.021160809323192,-0.256367802619934,0.151642680168152,-0.192527413368225,-0.352905660867691,0.241774469614029) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.189878195524216,0.034992173314095,-0.101518444716930,-0.445131629705429,-0.055935200303793,0.110362306237221,0.036950610578060,0.009381752461195,0.275190353393555,-0.081367626786232,0.085725396871567,-0.157940849661827,0.102766431868076,0.432215332984924,0.072663582861423,-0.435177505016327) * MODEL3_texOff(vec2(0,0));
res += mat4(0.014892813749611,-0.006508945021778,-0.115818448364735,0.255819439888000,-0.026399523019791,0.035338062793016,-0.095130167901516,-0.146199360489845,0.169104620814323,0.104370959103107,0.083317391574383,-0.272685140371323,-0.129121214151382,-0.043541658669710,0.029556989669800,0.267139077186584) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.101006783545017,0.060281597077847,0.041667025536299,0.183059841394424,0.005252330563962,0.021068045869470,0.098326802253723,-0.081911936402321,0.045556236058474,0.141120657324791,0.048224471509457,-0.155587360262871,0.010897637344897,-0.018675304949284,-0.021180955693126,0.101004153490067) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.026293123140931,-0.012897004373372,-0.077733524143696,-0.084511816501617,-0.106434486806393,-0.111249327659607,0.139624133706093,0.069895990192890,0.054013058543205,0.053812220692635,-0.032250776886940,-0.146898895502090,0.013447310775518,0.208237737417221,-0.264600723981857,-0.205922871828079) * MODEL3_texOff(vec2(1,0));
res += mat4(-0.041710231453180,-0.178571984171867,0.037491314113140,0.165028318762779,-0.032147619873285,-0.004562675487250,-0.032470744103193,0.042036816477776,0.000911015144084,0.026774944737554,0.028191560879350,-0.001469751470722,0.037190582603216,0.028870726004243,-0.031157009303570,-0.021699976176023) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(1.569302439689636,0.907370030879974,1.027502536773682,-0.052217662334442) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND MODEL1
//!BIND MODEL2
//!BIND MODEL3
//!SAVE MODEL5
//!DESC [AiUpscale_Fast_2x_LineArt_RT] mapping 4_2

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.028905391693115,-0.021100686863065,-0.097045578062534,0.113528952002525);
res += mat4(-0.173353627324104,-0.036544859409332,0.041307315230370,0.029859423637390,0.118060469627380,-0.087482042610645,0.050052136182785,-0.040407668799162,0.059982620179653,-0.001387319294736,0.140476465225220,0.162220522761345,-0.138930663466454,0.073439285159111,-0.074618071317673,-0.042812164872885) * MODEL1_texOff(vec2(-1,-1));
res += mat4(0.081244669854641,0.018336955457926,0.016256134957075,-0.075614966452122,0.113482579588890,-0.033425357192755,0.149967148900032,0.167485356330872,-0.080463580787182,0.153164863586426,0.129516392946243,0.157040983438492,-0.028455672785640,0.197391778230667,-0.071472130715847,-0.105025634169579) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.058690294623375,-0.057290546596050,0.027309965342283,-0.117159642279148,0.089839830994606,-0.036195874214172,0.078303292393684,0.020747555419803,-0.034902337938547,0.025666795670986,-0.090266913175583,-0.035819005221128,-0.130612835288048,0.064451932907104,-0.064018979668617,0.081792272627354) * MODEL1_texOff(vec2(-1,1));
res += mat4(0.168512359261513,-0.083800151944160,-0.094547823071480,-0.079568773508072,0.083268813788891,-0.091423906385899,0.133191004395485,0.104912362992764,-0.060868866741657,0.107927367091179,0.025282775983214,0.261639773845673,0.039631973952055,0.093784637749195,-0.281364023685455,-0.095120012760162) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.382911235094070,0.107046410441399,0.076445586979389,-0.006717911455780,0.221811220049858,0.279353827238083,0.090646244585514,-0.048886891454458,-0.051976438611746,0.151288837194443,-0.467770189046860,-0.007575792260468,-0.225297063589096,-0.252740979194641,0.461928933858871,0.016015278175473) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.083811275660992,0.099907748401165,0.244765460491180,0.173292547464371,0.085696399211884,-0.187646940350533,0.022531392052770,-0.067947253584862,-0.144438743591309,0.030411174520850,0.112152904272079,-0.067411676049232,-0.038107700645924,0.078753300011158,-0.076386936008930,0.012837619520724) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.011545664630830,0.110385648906231,-0.055026121437550,-0.020158696919680,-0.002195920329541,0.032113425433636,0.002915006596595,-0.013807662762702,-0.179003894329071,0.198192864656448,-0.031135747209191,-0.043945409357548,0.039840765297413,0.059005305171013,-0.219978898763657,0.130130305886269) * MODEL1_texOff(vec2(1,-1));
res += mat4(0.084745429456234,0.165352642536163,0.046007759869099,0.010994915850461,-0.304457485675812,-0.107238329946995,0.093802042305470,-0.088641136884689,-0.217828676104546,0.040529336780310,0.246711850166321,-0.105291530489922,0.090651288628578,0.401595145463943,0.005880831740797,-0.144193083047867) * MODEL1_texOff(vec2(1,0));
res += mat4(0.015989452600479,0.138752952218056,0.166523218154907,-0.020359089598060,-0.013238682411611,-0.011504399590194,0.017013587057590,-0.050802290439606,0.051473177969456,0.035517446696758,0.050257645547390,0.027721386402845,-0.111474208533764,0.089993312954903,0.069848485291004,-0.047400254756212) * MODEL1_texOff(vec2(1,1));
res += mat4(-0.071136064827442,-0.054987758398056,0.029973160475492,-0.056942533701658,-0.104444064199924,0.038492303341627,0.024699047207832,-0.058503638952971,0.041936896741390,0.001379842055030,-0.108217164874077,0.082968823611736,0.077806100249290,0.067411378026009,0.085368506610394,-0.007738275453448) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.271384567022324,-0.168774902820587,0.114217318594456,0.089476853609085,-0.042109772562981,0.028962783515453,-0.051080193370581,0.079470433294773,-0.129274204373360,-0.021241098642349,-0.331418186426163,-0.153860688209534,0.066803753376007,-0.049771115183830,-0.012344179674983,0.095434099435806) * MODEL2_texOff(vec2(-1,0));
res += mat4(-0.252060294151306,0.095837853848934,0.079921640455723,-0.064575009047985,0.091478772461414,-0.012029344215989,-0.004050827585161,-0.012591023929417,-0.086973413825035,0.117062740027905,0.030937256291509,-0.128956586122513,-0.046285256743431,0.007614974398166,0.032023478299379,-0.057168733328581) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.217781320214272,-0.005946930963546,-0.098068885505199,-0.328301072120667,-0.117674849927425,0.101874366402626,0.225825503468513,-0.016343496739864,0.022881546989083,-0.058799598366022,-0.138165846467018,0.057449214160442,-0.245124697685242,-0.125142335891724,0.106020763516426,0.068103320896626) * MODEL2_texOff(vec2(0,-1));
res += mat4(-0.198400333523750,0.421723961830139,0.360188007354736,-0.429926961660385,0.121389254927635,0.077112600207329,0.089658744633198,0.071690909564495,-0.349979043006897,-0.025122666731477,-0.545697271823883,0.061028949916363,0.146149098873138,0.042667761445045,-0.183404058218002,0.007995706982911) * MODEL2_texOff(vec2(0,0));
res += mat4(-0.052460063248873,-0.010418671183288,0.004280976951122,-0.014982219785452,-0.145994156599045,-0.072922058403492,0.042272299528122,-0.055480908602476,-0.002352295909077,-0.108947902917862,0.073667675256729,0.046255420893431,-0.073909401893616,0.000595255114604,0.333581268787384,-0.107382066547871) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.310258150100708,0.083188734948635,-0.135963276028633,0.038462519645691,0.152628138661385,-0.004617782775313,0.184554010629654,0.070797026157379,0.137675642967224,-0.002171551808715,-0.056283447891474,0.044927302747965,-0.226665243506432,-0.056119251996279,0.072543486952782,-0.050565514713526) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.362828224897385,-0.188381075859070,0.004162100143731,-0.182480752468109,-0.021747281774879,0.043168347328901,-0.095535531640053,-0.077341459691525,0.203756719827652,0.105674669146538,-0.234378904104233,-0.092313706874847,-0.252428293228149,-0.332441747188568,0.213166341185570,-0.043973032385111) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.181306749582291,-0.041422709822655,0.073457166552544,-0.051134083420038,0.021618632599711,-0.048853743821383,0.020490257069468,-0.012034719809890,-0.151351436972618,0.019383514299989,-0.079471804201603,-0.063557095825672,0.144712269306183,-0.125386461615562,0.081526234745979,0.023140339180827) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.027238057926297,-0.037522610276937,-0.093048490583897,-0.153505444526672,0.064132183790207,-0.066028378903866,-0.063463680446148,-0.103436693549156,0.045941662043333,0.041342023760080,0.061910998076200,0.017946042120457,-0.194580063223839,0.316653579473495,-0.009270735085011,0.075667038559914) * MODEL3_texOff(vec2(-1,-1));
res += mat4(0.282704859972000,-0.250142425298691,0.011069337837398,0.036410391330719,0.067636258900166,0.049191448837519,0.230143547058105,0.081120006740093,0.052967570722103,0.050978317856789,0.052414763718843,-0.113594695925713,-0.066557183861732,0.361237347126007,-0.259897768497467,-0.435320287942886) * MODEL3_texOff(vec2(-1,0));
res += mat4(0.066775716841221,-0.098265103995800,-0.077285259962082,0.116158686578274,-0.221227750182152,-0.088460735976696,0.118041634559631,0.062296796590090,0.358784377574921,-0.043417211622000,0.069775313138962,-0.037653874605894,0.192055270075798,0.021103937178850,-0.101736910641193,-0.049116063863039) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.224112734198570,0.000974029768258,-0.012767969630659,0.062096133828163,-0.245316490530968,0.173478394746780,-0.108312174677849,0.121526718139648,-0.170332878828049,-0.074506759643555,-0.098623119294643,-0.020224913954735,0.105760976672173,-0.186741694808006,0.176616534590721,-0.142732471227646) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.109469190239906,0.176683872938156,0.037234984338284,0.291144073009491,-0.374578595161438,0.124861113727093,-0.273900002241135,-0.423962652683258,-0.474650949239731,-0.016509981825948,0.083741240203381,-0.067267052829266,0.049883138388395,-0.402763128280640,0.394737422466278,-0.015165893360972) * MODEL3_texOff(vec2(0,0));
res += mat4(0.137698084115982,0.142251268029213,-0.091879226267338,0.218427017331123,0.129953369498253,0.235156938433647,-0.293004900217056,0.062170788645744,-0.392844289541245,-0.082538254559040,0.036953710019588,0.238391473889351,0.030192496255040,-0.163901790976524,0.062921084463596,0.017124002799392) * MODEL3_texOff(vec2(0,1));
res += mat4(0.301930546760559,0.079061955213547,-0.016184631735086,-0.014181564562023,0.103554002940655,0.011871165595949,-0.027249354869127,-0.030153468251228,-0.062712132930756,0.015401183627546,-0.263478010892868,-0.136985257267952,0.385603845119476,-0.295814812183380,-0.058114644140005,0.001710880547762) * MODEL3_texOff(vec2(1,-1));
res += mat4(0.350542306900024,0.058933675289154,-0.089099183678627,0.159484967589378,0.023117767646909,0.026326799765229,-0.039956811815500,0.065408185124397,0.018693696707487,0.124689549207687,0.325614571571350,-0.080807119607925,-0.083351656794548,0.017350640147924,-0.113608747720718,0.354919821023941) * MODEL3_texOff(vec2(1,0));
res += mat4(0.010576450265944,0.050176367163658,0.041468732059002,0.025580523535609,0.000769997364841,0.106910854578018,-0.230171442031860,-0.006490861065686,0.126488760113716,0.016366468742490,-0.212119981646538,0.184931054711342,0.009892688132823,-0.122806817293167,-0.002967290347442,-0.057742148637772) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.014705829322338,1.836916327476501,-0.235544636845589,-0.815841138362885) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.192733570933342,-0.176883026957512,-0.059092070907354,-0.051986448466778);
res += mat4(-0.065878644585609,-0.192998155951500,-0.007068291772157,-0.068474128842354,0.016949955374002,0.038710001856089,0.033963181078434,-0.015077739022672,0.065115854144096,-0.040464919060469,0.150395855307579,-0.007557994686067,-0.066826604306698,-0.052073672413826,-0.043623913079500,0.061232347041368) * MODEL1_texOff(vec2(-1,-1));
res += mat4(0.032512702047825,0.022832358255982,-0.043817318975925,-0.021416591480374,0.048434067517519,0.160001099109650,0.118662342429161,0.052553959190845,0.088262960314751,0.091734118759632,-0.268852949142456,-0.074638597667217,-0.009770045988262,-0.129128828644753,0.093810640275478,0.042441673576832) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.038513045758009,-0.001691166777164,0.015683803707361,0.037663698196411,-0.157232254743576,0.076609022915363,0.096114180982113,0.000769718433730,0.034159746021032,-0.081988684833050,0.419953048229218,-0.022690342739224,0.168791323900223,0.097289271652699,-0.047198779881001,-0.051470562815666) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.135782942175865,0.160732805728912,-0.118147067725658,0.023770159110427,-0.142196550965309,0.044351629912853,-0.305254727602005,0.118448153138161,0.162552520632744,-0.094473220407963,0.213686957955360,-0.163073658943176,-0.017078477889299,-0.107587419450283,-0.022620500996709,-0.151043221354485) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.463706582784653,0.089028805494308,0.192659005522728,0.280982196331024,-0.094506606459618,-0.262839287519455,0.304034203290939,-0.000513228587806,-0.293509393930435,-0.077501766383648,-0.340000122785568,-0.144277706742287,-0.180394947528839,0.003686953336000,0.108240760862827,-0.532366752624512) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.184923559427261,0.172644793987274,-0.213394820690155,0.019525669515133,0.208539888262749,-0.198189169168472,0.396979868412018,0.101834356784821,0.207571968436241,0.117287777364254,0.111676633358002,0.060218442231417,0.064892388880253,-0.058183897286654,0.111235432326794,0.057862780988216) * MODEL1_texOff(vec2(0,1));
res += mat4(0.044209476560354,0.021547263488173,-0.076168075203896,-0.026541259139776,0.014494359493256,-0.109625540673733,-0.036500073969364,0.119782648980618,-0.038178790360689,0.136364012956619,0.013289139606059,-0.055016752332449,-0.064943484961987,0.087230369448662,0.010906313546002,-0.039301715791225) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.001519807963632,0.172202765941620,0.077452145516872,0.095587745308876,0.055030178278685,-0.076228804886341,0.038570683449507,0.233936682343483,0.105632528662682,-0.033723197877407,0.116968348622322,-0.109955146908760,0.264459609985352,0.243454486131668,-0.055983074009418,0.338243007659912) * MODEL1_texOff(vec2(1,0));
res += mat4(-0.004018197767437,-0.109984956681728,-0.167006582021713,-0.150430947542191,-0.015275422483683,-0.025054134428501,0.411655902862549,0.063875839114189,0.095744743943214,-0.091412164270878,0.119540832936764,-0.179169729351997,-0.075873941183090,0.172141611576080,0.103330358862877,0.060461945831776) * MODEL1_texOff(vec2(1,1));
res += mat4(-0.024942934513092,-0.106825143098831,0.091253235936165,-0.012690875679255,0.069413788616657,0.135293528437614,0.012617935426533,-0.031670942902565,0.124021545052528,0.187132075428963,-0.109836846590042,0.083508498966694,-0.016938891261816,0.069374069571495,-0.113235548138618,0.063003264367580) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.067030765116215,0.353427112102509,-0.235555306077003,0.049203939735889,0.087887912988663,0.016976138576865,-0.070593625307083,0.017947340384126,-0.007907749153674,0.174132198095322,0.036285281181335,0.070860415697098,-0.018939701840281,-0.008572587743402,0.154555767774582,0.267878144979477) * MODEL2_texOff(vec2(-1,0));
res += mat4(-0.161537721753120,0.012860107235610,0.070645317435265,0.094976045191288,-0.044600192457438,-0.043568372726440,-0.012366553768516,-0.068777665495872,0.025212688371539,0.026809353381395,-0.212360545992851,-0.107316672801971,0.004524480551481,-0.031997185200453,0.067180886864662,-0.000694416637998) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.028920417651534,0.290921658277512,-0.147693485021591,0.151778221130371,-0.066494904458523,-0.276525884866714,-0.042402382940054,-0.076724544167519,0.169221177697182,-0.316870152950287,0.063786476850510,0.120775885879993,-0.174307182431221,0.070829384028912,-0.349400609731674,0.236949265003204) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.012670510448515,-0.027193095535040,-0.000444773409981,0.229205459356308,-0.070431321859360,0.036683779209852,-0.606364727020264,0.041266020387411,0.111818276345730,-0.259975761175156,-0.297426462173462,-0.107947632670403,0.106791436672211,0.010312437079847,0.356881886720657,-0.477370321750641) * MODEL2_texOff(vec2(0,0));
res += mat4(-0.191862627863884,0.214416667819023,-0.114766351878643,0.082678332924843,0.099642120301723,-0.065239727497101,0.185976281762123,-0.191504687070847,0.033614009618759,-0.197550088167191,0.017882553860545,-0.029761025682092,-0.136006176471710,0.164068967103958,0.093571908771992,0.101302310824394) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.122452512383461,0.047733597457409,-0.103419773280621,-0.071802519261837,0.035815656185150,-0.045701839029789,0.028252361342311,0.048624694347382,-0.043678291141987,0.062318261712790,0.031412377953529,-0.093252547085285,-0.084092594683170,-0.239111825823784,-0.110521487891674,0.149048224091530) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.114663414657116,0.494761765003204,-0.093717977404594,0.077682159841061,-0.072686262428761,-0.227285087108612,-0.062693797051907,0.061557121574879,0.191760092973709,-0.154227495193481,-0.181818559765816,0.260806828737259,-0.129852458834648,-0.218211457133293,0.155479446053505,0.346149653196335) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.124313093721867,0.078061461448669,-0.063699848949909,-0.038527417927980,-0.142984673380852,0.090982452034950,0.009873254224658,-0.012657564133406,-0.027970772236586,0.193720802664757,0.064880415797234,0.057959079742432,-0.052935939282179,-0.023897934705019,-0.038294862955809,-0.058215703815222) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.209298819303513,-0.252461910247803,0.173173591494560,0.031549371778965,-0.133384674787521,-0.066664494574070,-0.333807408809662,0.009034221060574,0.155985996127129,0.210167497396469,-0.025067169219255,-0.006624195724726,0.100094564259052,-0.142097920179367,-0.008176405914128,-0.085118956863880) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.147061780095100,-0.114834979176521,-0.171793907880783,-0.036383997648954,0.153004676103592,-0.117541179060936,-0.074097424745560,-0.043420962989330,0.297925680875778,0.085006780922413,-0.144102662801743,-0.010016661137342,0.183863565325737,0.144663825631142,0.155928537249565,0.060516823083162) * MODEL3_texOff(vec2(-1,0));
res += mat4(0.051364701241255,0.063400126993656,-0.054264452308416,0.017450472339988,0.096937067806721,-0.120636515319347,-0.054828517138958,-0.057213485240936,-0.075996607542038,-0.053306750953197,-0.037505399435759,0.005142612382770,0.008610151708126,0.006180142052472,-0.093307271599770,0.012431755661964) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.238017439842224,0.289492368698120,0.357439160346985,-0.138429716229439,0.069789528846741,0.188068628311157,-0.122836060822010,0.029518453404307,0.017740787938237,-0.164852440357208,-0.081104956567287,-0.028763942420483,0.078073985874653,-0.041763652116060,-0.170539721846581,0.096626669168472) * MODEL3_texOff(vec2(0,-1));
res += mat4(0.239564329385757,-0.159685194492340,-0.540258526802063,-0.130215585231781,-0.069663837552071,0.112642109394073,0.046208266168833,0.318912178277969,-0.098675221204758,-0.078347995877266,-0.169087827205658,0.015925507992506,0.078228063881397,0.029192864894867,0.243928536772728,-0.078280024230480) * MODEL3_texOff(vec2(0,0));
res += mat4(0.027222255244851,0.030270099639893,-0.764413475990295,0.188733741641045,-0.056882545351982,-0.124238871037960,0.139561206102371,0.081893272697926,-0.024494277313352,0.010855008848011,0.088689364492893,0.025321543216705,0.291036844253540,0.029323462396860,-0.231200531125069,-0.362171202898026) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.207553997635841,0.143979430198669,0.095556579530239,0.003172502852976,0.021201593801379,-0.289168655872345,0.005835077259690,-0.068625077605247,0.138193249702454,-0.246941044926643,-0.062685571610928,-0.023683905601501,0.040268886834383,0.032184399664402,0.102098569273949,0.103239424526691) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.004976211581379,0.203747168183327,-0.068050779402256,-0.083911836147308,-0.253974169492722,-0.010710868984461,-0.084964908659458,-0.305256754159927,0.063345111906528,-0.028866954147816,-0.201514139771461,-0.142308637499809,0.269147992134094,-0.308086037635803,-0.069163240492344,0.332140177488327) * MODEL3_texOff(vec2(1,0));
res += mat4(0.128043055534363,-0.139276280999184,-0.204162850975990,0.027701951563358,-0.011037853546441,0.032273791730404,0.072665639221668,-0.021440993994474,0.088406212627888,-0.001588379265741,-0.006193880923092,0.055740155279636,0.100087694823742,-0.124742403626442,0.012937085703015,-0.069367684423923) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(2.183890819549561,0.228538140654564,0.047653649002314,1.014042019844055) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND MODEL1
//!BIND MODEL2
//!BIND MODEL3
//!SAVE MODEL6
//!DESC [AiUpscale_Fast_2x_LineArt_RT] mapping 4_3

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.046586867421865,-0.233908891677856,-0.112804122269154,0.004820751026273);
res += mat4(-0.056147914379835,0.079310901463032,0.052489750087261,0.093695998191833,0.131694808602333,-0.016220001503825,0.104632467031479,0.027199402451515,-0.121389165520668,-0.197942167520523,0.103938363492489,0.204837322235107,0.016206724569201,0.009047842584550,-0.172752946615219,-0.160038799047470) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.158228799700737,0.043165974318981,0.075755827128887,-0.097310729324818,-0.070141851902008,-0.019696075469255,0.241076782345772,0.012362271547318,-0.123291797935963,-0.078916676342487,-0.121315933763981,-0.276340156793594,0.428108125925064,0.175081878900528,0.005453843623400,0.057315357029438) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.090161591768265,0.093543000519276,0.167952939867973,-0.104630269110203,0.111050881445408,-0.009930753149092,0.130565002560616,0.015106570906937,-0.072948396205902,0.056129962205887,-0.045308075845242,0.276344805955887,0.000721670978237,0.059125389903784,-0.169656440615654,-0.093035049736500) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.018379488959908,0.350412160158157,-0.094332359731197,-0.508992671966553,-0.019007854163647,0.181924700737000,0.102407865226269,0.053803827613592,-0.240435853600502,-0.135952815413475,0.059219971299171,0.303712606430054,-0.046077203005552,0.078225046396255,-0.219637736678123,-0.192247316241264) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.062778957188129,0.039254393428564,-0.071867302060127,-0.055274084210396,-0.271179318428040,0.045531600713730,0.179889455437660,-0.207077741622925,-0.274369746446609,-0.574567794799805,0.066087260842323,-0.245869472622871,-0.330708205699921,0.070435822010040,0.480178266763687,0.205408260226250) * MODEL1_texOff(vec2(0,0));
res += mat4(0.023261252790689,-0.019268460571766,0.173414558172226,0.006611719261855,-0.117644771933556,0.131494864821434,0.085265330970287,0.014888753183186,-0.020594500005245,0.107312880456448,0.113550521433353,0.217315360903740,-0.126877218484879,-0.011909819208086,0.142007052898407,0.061722703278065) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.055151205509901,0.027346011251211,0.026109555736184,-0.185722351074219,0.091654315590858,0.072012327611446,-0.023726586252451,-0.186681032180786,0.170757934451103,-0.097479090094566,0.017517773434520,-0.031577400863171,-0.215121537446976,-0.146338671445847,-0.096199877560139,-0.041106682270765) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.134134471416473,-0.208428323268890,0.075775600969791,-0.115603297948837,0.557176887989044,0.116837292909622,-0.161873325705528,0.161244168877602,0.289810717105865,0.002384177409112,0.059795904904604,0.136068031191826,-0.080963373184204,0.010051656514406,-0.024299591779709,0.119982518255711) * MODEL1_texOff(vec2(1,0));
res += mat4(-0.041232887655497,-0.039128813892603,0.063222296535969,0.012828078120947,0.132605418562889,-0.004113340750337,-0.055904496461153,-0.079069249331951,-0.028761832043529,-0.039533980190754,-0.041721627116203,-0.068532139062881,0.123176708817482,0.039202753454447,-0.058026351034641,0.171457678079605) * MODEL1_texOff(vec2(1,1));
res += mat4(0.000041996408982,-0.095565490424633,0.048570509999990,-0.441584140062332,-0.095979608595371,0.021919796243310,0.107135407626629,0.053894866257906,-0.099724903702736,-0.140317589044571,-0.197432443499565,-0.252522528171539,0.111111484467983,-0.152904435992241,0.056985467672348,-0.028119696304202) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.017232792451978,-0.061306562274694,0.104515776038170,-0.167007148265839,-0.313222616910934,0.048622094094753,0.061147976666689,0.040779590606689,-0.111019589006901,0.012673421762884,-0.529708564281464,0.010369272902608,0.141202434897423,-0.004037952516228,-0.222740083932877,0.089190058410168) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.007927317172289,0.049799337983131,0.064704522490501,-0.415501117706299,0.106850735843182,0.051788233220577,-0.028897222131491,0.256697505712509,0.133766949176788,0.070348128676414,0.044494766741991,-0.174860715866089,0.075848087668419,0.037608087062836,0.070003926753998,0.275757908821106) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.025603769347072,0.164954081177711,-0.146109551191330,-0.505858778953552,0.123270533978939,-0.034731600433588,0.297423422336578,0.400165438652039,-0.119052909314632,-0.048902034759521,-0.057557631283998,-0.143698588013649,-0.063683480024338,-0.319655358791351,0.199953138828278,0.268173009157181) * MODEL2_texOff(vec2(0,-1));
res += mat4(-0.200199976563454,0.057839021086693,0.414171695709229,-0.019924007356167,0.228820577263832,-0.008246499113739,-0.034286320209503,-0.030681220814586,-0.022749613970518,-0.097761720418930,-0.401223450899124,-0.052009277045727,-0.031853355467319,-0.329744189977646,0.292759299278259,-0.006151439622045) * MODEL2_texOff(vec2(0,0));
res += mat4(0.008085948415101,-0.004787759389728,0.153756856918335,-0.398059010505676,-0.036536589264870,0.184823915362358,0.077597245573997,0.031534451991320,0.016795760020614,0.024632956832647,-0.038490384817123,-0.200485810637474,0.066750884056091,0.323551982641220,0.201435610651970,0.016138754785061) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.131266489624977,0.002820631023496,-0.054137095808983,-0.433750003576279,-0.058229755610228,0.231007367372513,0.054137516766787,0.251509308815002,0.066529445350170,-0.045229118317366,-0.019858047366142,0.073459841310978,0.137095585465431,-0.119461514055729,-0.011529109440744,0.177252471446991) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.195802226662636,0.191244944930077,-0.068358890712261,-0.197783038020134,-0.110346682369709,0.039779413491488,0.067731454968452,0.040490493178368,-0.018677173182368,-0.194812238216400,-0.081697255373001,-0.052527327090502,0.308158010244370,0.050157129764557,-0.059061102569103,0.097203947603703) * MODEL2_texOff(vec2(1,0));
res += mat4(0.102571748197079,0.012012409046292,-0.023169055581093,-0.200032815337181,0.027697114273906,0.046598151326180,-0.052787691354752,-0.017120214179158,0.037140108644962,-0.168266594409943,-0.010648002848029,0.056885190308094,-0.073499061167240,0.231968358159065,-0.037477038800716,0.011844793334603) * MODEL2_texOff(vec2(1,1));
res += mat4(0.017036126926541,0.203808665275574,-0.110742449760437,-0.086680479347706,-0.149374559521675,0.039503324776888,-0.066678009927273,0.074483484029770,-0.318612784147263,0.096528351306915,0.147882252931595,-0.120812296867371,0.138589859008789,0.093877993524075,0.071581371128559,-0.198302999138832) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.090144105255604,-0.080344170331955,-0.063864037394524,0.052316851913929,-0.342644512653351,0.003378949360922,0.132774010300636,0.116705887019634,-0.178081929683685,0.264108598232269,0.194271132349968,0.362645983695984,0.321896016597748,0.141171216964722,0.005806033033878,-0.198021277785301) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.170371815562248,-0.196988955140114,-0.121756233274937,-0.410306841135025,-0.265016257762909,-0.000209539386560,0.072188623249531,-0.231025114655495,-0.005713359452784,0.119963847100735,0.157120630145073,-0.224577203392982,0.109276294708252,0.021366531029344,-0.026862693950534,0.020400900393724) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.091727033257484,0.322201460599899,-0.084726825356483,-0.233885347843170,0.045485425740480,0.119906313717365,-0.107267431914806,0.037114631384611,-0.367467969655991,-0.019372709095478,-0.317281246185303,-0.062344644218683,0.165829837322235,0.018176052719355,0.007388644851744,-0.084483802318573) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.040940888226032,0.400583326816559,-0.106493785977364,-0.162127837538719,0.217698886990547,0.479857504367828,-0.347777396440506,-0.191161960363388,-0.448402196168900,0.246510893106461,-0.095085792243481,0.384875208139420,0.357246369123459,0.186364889144897,-0.436290085315704,-0.240104109048843) * MODEL3_texOff(vec2(0,0));
res += mat4(-0.099387779831886,0.004518668632954,0.122776232659817,-0.086514115333557,-0.052467327564955,-0.090839266777039,-0.254978716373444,0.122210383415222,-0.171201586723328,-0.220874056220055,-0.243228301405907,0.121528163552284,0.206934571266174,0.131424993276596,0.036741349846125,0.006578581873327) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.156158179044724,-0.023257516324520,-0.007958704605699,0.026656277477741,-0.042440481483936,-0.061306253075600,0.026044018566608,-0.030571222305298,0.152540966868401,0.204026043415070,-0.103516034781933,-0.054453484714031,-0.325092107057571,-0.004098981618881,-0.047916963696480,0.055579159408808) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.100493147969246,-0.036178577691317,0.054463058710098,0.054244488477707,-0.086096532642841,0.125222936272621,0.009742451831698,0.047529473900795,-0.058789372444153,0.156051710247993,0.415877133607864,0.360324770212173,-0.258176386356354,-0.257134884595871,0.224821969866753,-0.279345750808716) * MODEL3_texOff(vec2(1,0));
res += mat4(0.028838876634836,-0.044742759317160,-0.037567630410194,0.095147177577019,-0.030576458200812,-0.254062443971634,-0.042574204504490,0.032715860754251,-0.092537224292755,-0.093752987682819,-0.028164559975266,0.122959762811661,-0.251491934061050,0.002444050041959,-0.039253629744053,0.032263793051243) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.132890328764915,0.027708375826478,-0.186630576848984,-0.076486371457577) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.020938904955983,-0.063506975769997,-0.020147977396846,0.127546355128288);
res += mat4(-0.037530008703470,-0.046696595847607,0.080806493759155,-0.024253187701106,0.061157714575529,0.042301237583160,0.050192955881357,0.035777624696493,0.023152168840170,-0.097384117543697,0.031757447868586,-0.058957513421774,0.083853393793106,0.022796932607889,-0.050955526530743,0.055468939244747) * MODEL1_texOff(vec2(-1,-1));
res += mat4(0.245714306831360,-0.055077258497477,0.143422976136208,0.088947817683220,0.018868526443839,0.061389833688736,-0.111020177602768,-0.023680893704295,-0.122707821428776,0.122708372771740,0.013198993168771,0.012119208462536,-0.019765093922615,0.048490460962057,0.058935157954693,-0.052545119076967) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.128906086087227,-0.093724094331264,0.035682924091816,-0.038695730268955,-0.140794232487679,0.098086148500443,0.030990956351161,-0.024742370471358,-0.115870222449303,0.047903586179018,0.038537133485079,-0.007855598814785,0.080894857645035,0.037234909832478,0.011175119318068,0.068663612008095) * MODEL1_texOff(vec2(-1,1));
res += mat4(0.293760031461716,-0.085451155900955,-0.111436501145363,0.018793076276779,-0.041563630104065,0.300331562757492,-0.036392264068127,-0.092493548989296,-0.111869640648365,-0.270671546459198,-0.051919993013144,0.115950889885426,-0.081988237798214,-0.006348935887218,0.035242188721895,-0.026694042608142) * MODEL1_texOff(vec2(0,-1));
res += mat4(0.140761896967888,0.072758629918098,0.303770691156387,0.056665740907192,-0.313609302043915,-0.142739817500114,0.001327182515524,-0.155502244830132,-0.185421526432037,0.440798133611679,-0.145066902041435,-0.489774674177170,0.289003401994705,0.004342746455222,0.130039080977440,-0.005182375665754) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.010842406190932,0.214499354362488,0.107688620686531,0.061494402587414,-0.071017935872078,-0.002668346278369,-0.260134965181351,0.048934929072857,0.040400628000498,0.348243951797485,-0.207018554210663,0.022010808810592,0.100626699626446,-0.079566150903702,0.147711560130119,0.107918426394463) * MODEL1_texOff(vec2(0,1));
res += mat4(0.047762084752321,-0.053684737533331,0.172451809048653,-0.142326906323433,0.122575171291828,0.131299361586571,0.037010315805674,-0.196024969220161,0.027492884546518,0.038235142827034,-0.018210655078292,0.016634328290820,0.136826083064079,-0.014911959879100,-0.063013687729836,-0.039778180420399) * MODEL1_texOff(vec2(1,-1));
res += mat4(0.275871902704239,0.022172251716256,0.388374537229538,0.205384999513626,0.135785043239594,-0.152531713247299,-0.129261180758476,0.192367061972618,0.054781634360552,0.021850481629372,-0.036299895495176,-0.318415671586990,0.034278027713299,0.033562377095222,0.093060769140720,-0.061821043491364) * MODEL1_texOff(vec2(1,0));
res += mat4(0.046093173325062,0.143823429942131,0.163090363144875,0.066974371671677,-0.060470279306173,0.046070821583271,0.007601382676512,0.157486975193024,-0.046403996646404,0.002920995233580,0.003441149136052,-0.028866564854980,-0.081972450017929,-0.130503103137016,0.091578856110573,0.020361270755529) * MODEL1_texOff(vec2(1,1));
res += mat4(0.109858512878418,-0.095565214753151,0.159408628940582,0.027813876047730,0.178207695484161,-0.084401190280914,0.023244457319379,0.107961125671864,0.088543616235256,0.244895488023758,0.143239796161652,-0.009801022708416,0.054919637739658,0.056139953434467,0.014145844615996,-0.019888319075108) * MODEL2_texOff(vec2(-1,-1));
res += mat4(0.299156337976456,0.069169297814369,-0.063482768833637,-0.142236322164536,0.172558665275574,-0.027625465765595,0.009963926859200,-0.062648996710777,0.015080448240042,-0.245775997638702,-0.218149632215500,-0.028511872515082,0.210264235734940,-0.152108505368233,-0.069571830332279,0.049532569944859) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.143687501549721,-0.261191308498383,-0.037862408906221,-0.054616242647171,0.018800729885697,0.067451201379299,0.115310020744801,-0.000544964452274,-0.051978517323732,0.136504784226418,-0.070920921862125,0.037263277918100,0.141447365283966,-0.089635506272316,0.017363209277391,-0.081015817821026) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.307735323905945,0.119850590825081,0.169697925448418,-0.074582606554031,-0.281622320413589,0.087663128972054,0.029121501371264,0.161088898777962,-0.449137866497040,0.215468809008598,-0.281225025653839,-0.153698414564133,-0.093723490834236,0.307526558637619,-0.015736984089017,-0.312640488147736) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.376506209373474,-0.271061360836029,0.439695894718170,-0.014968665316701,-0.405427277088165,0.032082557678223,-0.327227443456650,-0.144246816635132,-0.440997451543808,-0.266476660966873,-0.072425819933414,0.188962683081627,-0.121318355202675,-0.308374077081680,0.095241330564022,-0.023273102939129) * MODEL2_texOff(vec2(0,0));
res += mat4(0.089901357889175,-0.041296154260635,0.378687679767609,-0.072057716548443,-0.004358050413430,-0.289690315723419,-0.176000177860260,0.001716029131785,-0.034844297915697,-0.121997952461243,0.116657778620720,-0.184717595577240,-0.020687889307737,0.075468651950359,0.108398489654064,-0.083284877240658) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.105617344379425,0.151040270924568,0.077059678733349,0.065670639276505,0.144327670335770,-0.077565878629684,0.004534546285868,-0.030682725831866,0.034009076654911,-0.091136910021305,0.062031775712967,0.202727958559990,-0.020937491208315,0.107066668570042,0.004177785478532,-0.134528160095215) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.068783327937126,-0.205771312117577,0.342099845409393,-0.252333492040634,0.171869784593582,-0.083948135375977,0.046461742371321,0.104437395930290,0.068886786699295,0.075428515672684,-0.284212172031403,-0.042619176208973,0.036094684153795,-0.062475919723511,-0.068289577960968,0.084986582398415) * MODEL2_texOff(vec2(1,0));
res += mat4(0.185226812958717,0.012652298435569,0.130478709936142,0.050764750689268,-0.034834790974855,-0.019040836021304,0.142440795898438,-0.004254887346178,-0.007727602031082,-0.253853857517242,-0.260410070419312,-0.056530494242907,0.002424599137157,0.077443793416023,-0.016752917319536,-0.033659085631371) * MODEL2_texOff(vec2(1,1));
res += mat4(0.009623076766729,0.006348363589495,0.139475107192993,-0.104114323854446,-0.171593204140663,0.104102127254009,-0.017338193953037,-0.036541692912579,0.133372843265533,0.006981200538576,-0.016937619075179,0.009459366090596,-0.106567524373531,-0.025222839787602,0.059390850365162,0.081966169178486) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.136149868369102,-0.049672171473503,0.395824730396271,0.079079382121563,0.030428595840931,-0.159980401396751,-0.069521918892860,0.147852912545204,0.142090067267418,-0.020367501303554,-0.129488319158554,0.042479977011681,0.194756358861923,-0.062879636883736,-0.234713599085808,0.030996263027191) * MODEL3_texOff(vec2(-1,0));
res += mat4(0.077302001416683,-0.044434808194637,0.115912564098835,-0.048540104180574,-0.107780016958714,0.114293716847897,-0.102322675287724,0.065107390284538,-0.009281447157264,-0.098543494939804,-0.066399864852428,-0.022387806326151,0.002046711044386,-0.055541381239891,0.035182431340218,-0.025108037516475) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.085822105407715,-0.299540877342224,-0.041876327246428,0.170754238963127,0.080362133681774,-0.004974571056664,-0.186976954340935,-0.028144564479589,-0.467473298311234,-0.094651505351067,-0.096655510365963,0.071306630969048,-0.181585788726807,0.208673745393753,-0.102726742625237,-0.085609190165997) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.409314841032028,0.174877762794495,-0.341408163309097,0.225093513727188,0.000897088320926,0.070753104984760,-0.617009758949280,0.114173032343388,-0.445004224777222,-0.160277038812637,-0.185157626867294,-0.159380391240120,-0.635991513729095,0.003584120655432,0.241579219698906,0.288329601287842) * MODEL3_texOff(vec2(0,0));
res += mat4(-0.165066838264465,-0.257210403680801,-0.142260491847992,-0.076214522123337,0.053878586739302,0.139770686626434,-0.158856555819511,-0.090389832854271,-0.091020092368126,-0.577742516994476,0.065757706761360,0.066463708877563,-0.208352506160736,-0.080368652939796,-0.004297438543290,0.078531861305237) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.075952284038067,0.180884838104248,0.105506204068661,0.065084919333458,-0.071657776832581,-0.105183668434620,0.092307105660439,-0.057945437729359,-0.292126208543777,-0.132695734500885,-0.229473948478699,0.007973504252732,-0.007899197749794,0.071978725492954,-0.144721835851669,0.019078772515059) * MODEL3_texOff(vec2(1,-1));
res += mat4(0.101846829056740,0.108342640101910,-0.308166176080704,0.163310542702675,-0.275756269693375,0.035171169787645,0.244505986571312,-0.004155134782195,-0.294128358364105,-0.069323375821114,-0.381958127021790,0.175017923116684,0.133844971656799,0.078564822673798,-0.609155297279358,0.424679934978485) * MODEL3_texOff(vec2(1,0));
res += mat4(0.101860277354717,-0.104826249182224,-0.263352900743484,-0.185517370700836,0.050054308027029,0.100955598056316,0.144664660096169,-0.035372488200665,-0.142202779650688,-0.578159570693970,-0.301754325628281,0.079774960875511,0.007373149972409,-0.080293603241444,-0.167712345719337,-0.037968661636114) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.209451064467430,-0.069775104522705,-0.158557876944542,-0.186207190155983) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!COMPONENTS 4
//!BIND MODEL4
//!BIND MODEL5
//!BIND MODEL6
//!SAVE SUBCONV1
//!DESC [AiUpscale_Fast_2x_LineArt_RT] sup-pixel convolution 1

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.000145132507896,0.000236030304222,0.000187807367183,0.000595412740950);
res += mat4(-0.007490414660424,0.005046025849879,0.001161929103546,-0.003100187750533,-0.003798885270953,0.002393353497609,0.002365422667935,0.002268441254273,-0.003642004448920,-0.002700335578993,0.000232301783399,0.005947457160801,0.004580222535878,-0.006436596624553,0.000558114901651,-0.000986426370218) * MODEL4_texOff(vec2(-1,-1));
res += mat4(0.008859950117767,-0.012404525652528,0.003111871192232,0.006401404272765,0.001454131328501,-0.004233024548739,-0.008401275612414,0.000990536296740,-0.012808594852686,-0.007877735421062,-0.012358905747533,-0.013961605727673,-0.004960450809449,0.014333399944007,0.006197829730809,0.002008889103308) * MODEL4_texOff(vec2(-1,0));
res += mat4(-0.007399809081107,0.000789752870332,0.001435177167878,0.000559034873731,-0.002597302664071,-0.003938394598663,0.006545099895447,-0.002641072263941,-0.011187714524567,-0.018842821940780,-0.002193137537688,-0.006977577228099,-0.000004013699254,0.011041760444641,-0.004439531359822,0.002407955005765) * MODEL4_texOff(vec2(-1,1));
res += mat4(-0.021974371746182,0.018355166539550,-0.019156673923135,0.023109251633286,0.001071488135494,-0.008907926268876,-0.006505272816867,-0.001633059815504,0.002842726185918,-0.008740146644413,-0.001604353659786,-0.015615263953805,0.002737163798884,-0.007163911126554,0.009319475851953,-0.013522469438612) * MODEL4_texOff(vec2(0,-1));
res += mat4(0.047787934541702,-0.027397710829973,0.036211308091879,-0.035772703588009,-0.063524052500725,0.019725093618035,0.007351382169873,0.020460121333599,0.048405572772026,0.044948436319828,0.033066190779209,0.041310269385576,0.005582523066550,0.030793434008956,-0.065686300396919,0.006201722659171) * MODEL4_texOff(vec2(0,0));
res += mat4(-0.023687526583672,0.016841784119606,-0.021295061334968,0.012474048882723,0.009678280912340,-0.007687359582633,-0.001522959792055,0.010785644873977,-0.013909893110394,-0.003155360929668,-0.014242901466787,-0.013266137801111,0.003869666019455,0.014789284206927,0.005856013856828,0.001065063290298) * MODEL4_texOff(vec2(0,1));
res += mat4(0.002177476650104,0.000759407179430,-0.009481330402195,0.004318470135331,-0.006073947064579,0.002635029144585,-0.002286618109792,-0.001124504953623,-0.002353496383876,0.000930526293814,-0.002274244790897,-0.000275305006653,0.002689272863790,0.001840745913796,-0.003924807533622,0.000207482225960) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.002514291554689,0.000411188666476,0.015734219923615,-0.009989995509386,0.002553485101089,-0.001325772143900,-0.004361268132925,0.024168521165848,-0.010150979273021,-0.013513371348381,0.002049505943432,-0.004591084085405,-0.010592158883810,-0.004901817068458,0.004841450136155,0.001289326581173) * MODEL4_texOff(vec2(1,0));
res += mat4(0.000600180355832,-0.000804269977380,-0.009334590286016,0.005002706311643,-0.002099051373079,-0.001513669965789,0.005425915122032,0.004714475013316,0.002603090135381,0.000934168579988,-0.006342441774905,-0.002214808017015,-0.000665018684231,-0.001439499668777,-0.001153845340014,0.003821646329015) * MODEL4_texOff(vec2(1,1));
res += mat4(-0.015853866934776,-0.005401860456914,-0.007291537709534,0.010312034748495,0.004828163422644,-0.003052953630686,-0.001666308962740,0.000017931022740,0.007430309429765,0.005500779952854,0.002731392858550,-0.001061117043719,0.002819788642228,-0.003209455870092,-0.000794021645561,-0.003723111702129) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.033856891095638,0.007133686449379,-0.026357723399997,-0.031857728958130,0.012033119797707,0.016423903405666,-0.018008582293987,-0.012534236535430,0.013196349143982,-0.004224432166666,0.000406216451665,0.006810100283474,-0.018148679286242,0.003852042369545,0.010362906381488,0.006926603615284) * MODEL5_texOff(vec2(-1,0));
res += mat4(-0.004174804780632,0.016317686066031,0.002671821508557,-0.004647807683796,-0.001465176930651,0.001380245899782,-0.000186721226783,-0.007572314236313,-0.001996996346861,-0.002108187414706,0.002530555007979,-0.002100937534124,0.005262131802738,-0.012444606982172,0.003456851933151,0.008939448744059) * MODEL5_texOff(vec2(-1,1));
res += mat4(-0.008003951050341,0.006859587039798,0.029006214812398,0.002753514098004,-0.006225659977645,0.000137440321851,0.005147988442332,-0.001772276009433,0.013696322217584,0.003518363228068,-0.013534010387957,0.009034187532961,-0.008667999878526,0.005548610351980,0.006795142777264,0.000920357182622) * MODEL5_texOff(vec2(0,-1));
res += mat4(-0.039594106376171,-0.055408261716366,0.025446979328990,0.049081154167652,-0.023145955055952,-0.022011615335941,0.020437842234969,0.018432930111885,0.022588787600398,0.005468648392707,0.013805513270199,-0.063470214605331,0.024331057444215,-0.002825674368069,-0.014377256855369,0.007891012355685) * MODEL5_texOff(vec2(0,0));
res += mat4(0.003908521495759,-0.000881806074176,-0.016281841322780,-0.013912612572312,0.003777829464525,-0.004909355659038,0.003255152143538,0.011364956386387,-0.002671780996025,-0.002304201945662,-0.008261320181191,0.002669699024409,0.001502136932686,0.015936896204948,0.000462525524199,-0.017894765362144) * MODEL5_texOff(vec2(0,1));
res += mat4(0.022892221808434,0.008630195632577,-0.025479558855295,-0.006902200635523,0.002935845404863,0.000669569184538,0.000024715827749,0.001337299821898,-0.004472733009607,0.000966908643022,0.004930628463626,-0.001735776080750,0.002767802216113,0.001579690375365,-0.009777078405023,0.005498288664967) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.008442242629826,0.026219554245472,0.021890290081501,-0.021117685362697,0.007214593701065,0.008515495806932,-0.011512677185237,-0.008279927074909,-0.002535624429584,-0.010379107668996,-0.002932099159807,0.005319529678673,-0.002060582861304,-0.000890084076673,0.006401775404811,-0.016727834939957) * MODEL5_texOff(vec2(1,0));
res += mat4(-0.011344202794135,-0.010246768593788,0.001752077834681,0.025686154142022,-0.001604301040061,-0.000348703673808,0.000933802337386,-0.004548263736069,0.002797809196636,0.001576889422722,0.000686296552885,-0.006207216996700,-0.005063291639090,-0.004317970015109,-0.003887661034241,0.006703322753310) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.003546665888280,0.005002117250115,0.000856894766912,-0.001249857596122,0.004840119276196,-0.007651065476239,-0.005026103463024,-0.007173182442784,0.001164078479633,-0.004133883863688,-0.001143104629591,0.001949018100277,0.015487183816731,-0.011465514078736,-0.000993867055513,-0.007982320152223) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.002530560595915,-0.013952957466245,0.017752099782228,0.012975556775928,-0.003364678239450,0.027447862550616,-0.016413416713476,-0.002980136079714,-0.002175282686949,0.007577897980809,-0.005662670359015,-0.009833854623139,-0.010101165622473,-0.006805477663875,-0.009648204781115,0.005293260328472) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.001834408030845,0.006006297189742,-0.002282365225255,0.004658997990191,0.014754311181605,-0.007026094477624,0.004559714812785,-0.008636885322630,0.001904829288833,-0.001455511781387,0.000559921492822,0.001946774777025,-0.009338043630123,0.020184438675642,0.001209800830111,-0.000520598725416) * MODEL6_texOff(vec2(-1,1));
res += mat4(0.004000982735306,-0.004572305828333,-0.008686180226505,0.008320257067680,-0.011046135798097,-0.011986275203526,0.007574057672173,-0.010593716986477,0.002527975244448,0.002392719965428,0.019750988110900,-0.002390608889982,-0.019137285649776,0.033255796879530,0.018111513927579,0.009306230582297) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.033221527934074,0.030036648735404,-0.038916539400816,-0.044417861849070,-0.031694192439318,0.001319747418165,-0.002833246253431,0.044016540050507,0.000918458506931,-0.072146452963352,0.023271137848496,0.013217813335359,0.050447259098291,-0.051412813365459,0.026588469743729,-0.041871938854456) * MODEL6_texOff(vec2(0,0));
res += mat4(-0.004084898624569,0.009326016530395,-0.001087367767468,-0.009228418581188,0.011557854712009,-0.019768254831433,0.018556272611022,-0.011885951273143,-0.014107900671661,0.012584411539137,-0.004084304906428,0.003559190779924,-0.025386303663254,0.001318899565376,-0.034072935581207,0.025637540966272) * MODEL6_texOff(vec2(0,1));
res += mat4(-0.005453155376017,0.003773962380365,0.005075451452285,0.001311041763984,0.004513965453953,0.005306806880981,-0.005309108179063,0.000079572630057,0.007676965091377,-0.005054447799921,0.016035208478570,-0.001803851220757,-0.013600135222077,0.011118618771434,-0.032625641673803,0.031012780964375) * MODEL6_texOff(vec2(1,-1));
res += mat4(-0.037587881088257,-0.028537616133690,0.024040279909968,0.018067168071866,0.011254215613008,0.009614550508559,-0.008778562769294,-0.004021730739623,0.001285454025492,0.007133754901588,0.014690763317049,-0.008570319041610,0.004303220193833,0.009298351593316,0.030542673543096,-0.009995295666158) * MODEL6_texOff(vec2(1,0));
res += mat4(0.001262823934667,-0.016193741932511,0.005855557508767,0.014764170162380,-0.000178356523975,0.001069996971637,0.004113204311579,-0.005798949860036,-0.000077048003732,0.001707542571239,-0.006171069107950,0.010528814047575,0.008798724971712,-0.010413005948067,0.002770059509203,-0.016522247344255) * MODEL6_texOff(vec2(1,1));
#elif (SHARP == 1)
vec4 res = vec4(-0.000946193002164,-0.001486241468228,0.001577824354172,0.001381602603942);
res += mat4(-0.009498032741249,0.005544221960008,-0.002112014917657,-0.003227126551792,-0.004529843106866,0.011614089831710,0.012684177607298,0.001944490126334,-0.004135096911341,-0.002763117663562,-0.009339938871562,0.000299393606838,-0.008772174827754,-0.003821486607194,0.002382813720033,0.002194158267230) * MODEL4_texOff(vec2(-1,-1));
res += mat4(0.007418814115226,-0.005274426192045,0.003065620549023,0.011205568909645,0.016085539013147,-0.015966523438692,0.017399180680513,0.023989081382751,0.004452524706721,0.009833939373493,-0.010335537604988,-0.017664108425379,-0.003580737626180,0.008948349393904,0.001132091972977,-0.002762043150142) * MODEL4_texOff(vec2(-1,0));
res += mat4(-0.007044403813779,-0.010720817372203,0.000278395309579,-0.005895640701056,0.003722425084561,0.030399356037378,0.001262813224457,0.010626425035298,0.006576168816537,-0.002801135880873,0.005438242573291,0.000686340092216,0.004870539996773,-0.004139422904700,-0.004242722876370,0.002327913884073) * MODEL4_texOff(vec2(-1,1));
res += mat4(-0.009412022307515,0.002496533328667,-0.006310849450529,0.015364408493042,-0.003927412908524,-0.009634918533266,-0.014917667023838,0.008630112744868,-0.008946395479143,0.005301808938384,-0.003867891384289,0.003457798389718,0.001553189940751,-0.019356746226549,-0.008520099334419,-0.013908642344177) * MODEL4_texOff(vec2(0,-1));
res += mat4(0.026943791657686,-0.016541235148907,0.026715073734522,-0.018564881756902,-0.014908607117832,-0.001750534051098,-0.012232228182256,-0.039704702794552,0.045369893312454,0.008776667527854,0.041469886898994,0.026894113048911,-0.042056150734425,0.042150881141424,-0.032369282096624,0.042118486016989) * MODEL4_texOff(vec2(0,0));
res += mat4(-0.031257797032595,0.002299209358171,-0.027400610968471,-0.012154633179307,0.023745791986585,0.030929960310459,0.012911153025925,0.032361149787903,0.005511249881238,0.028356468304992,0.010451077483594,0.017502104863524,0.018492752686143,0.003576785326004,0.022434735670686,-0.010654718615115) * MODEL4_texOff(vec2(0,1));
res += mat4(0.006975790485740,0.005246904212981,-0.004984109662473,0.001276274793781,0.002219952410087,0.003055227221921,-0.006169934757054,-0.006190402433276,-0.012986330315471,-0.003632079111412,-0.014114054851234,-0.006995665375143,0.001533303642645,0.001851210370660,0.004190307110548,-0.006604680791497) * MODEL4_texOff(vec2(1,-1));
res += mat4(0.005722653586417,0.007995826192200,0.005434784106910,-0.010243709199131,-0.005361674353480,-0.001206404762343,-0.021501891314983,-0.011090002022684,-0.023630425333977,-0.023238344117999,-0.006234803237021,-0.016779512166977,-0.005241611972451,0.002449761377648,-0.021084588021040,0.011823903769255) * MODEL4_texOff(vec2(1,0));
res += mat4(0.002169477287680,0.003484711283818,-0.010429051704705,0.007619931362569,-0.007166698575020,-0.007167013827711,0.000732560176402,0.003832727670670,-0.000340818369295,-0.009967526420951,-0.006857539061457,0.000501626054756,-0.000144490855746,-0.000346894870745,0.004643712658435,0.008074634708464) * MODEL4_texOff(vec2(1,1));
res += mat4(0.009231149218976,-0.003764952998608,-0.000397325580707,-0.000773006002419,-0.010659961961210,0.008246766403317,0.012802782468498,0.001368061057292,0.008975315839052,-0.003270026994869,-0.001515472889878,0.001775910495780,0.009763819165528,-0.009116939269006,0.006111660972238,0.002297363709658) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.006827423814684,0.020970387384295,-0.015214726328850,-0.011253841221333,-0.006229985971004,-0.031585380434990,-0.019707409664989,0.008240512572229,-0.003168040886521,-0.007685084827244,-0.000677108648233,-0.003164765192196,0.041207455098629,0.048303693532944,0.014288200065494,0.013138063251972) * MODEL5_texOff(vec2(-1,0));
res += mat4(-0.001544393599033,-0.003952168393880,0.000545316201169,-0.004968518391252,0.003734735073522,0.017547534778714,-0.006486754864454,-0.018000010401011,-0.003936864435673,0.005287232808769,0.000140476608067,0.000564195099287,0.003723269095644,0.017089342698455,0.003182508982718,0.011484632268548) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.002060836879537,0.008611939847469,-0.008215193636715,-0.005974655970931,0.013351636007428,-0.005034517031163,-0.015471059828997,0.005131604149938,0.005942603107542,0.018238421529531,0.017506331205368,0.003149249125272,-0.025370646268129,-0.020567631348968,-0.018728019669652,-0.031253669410944) * MODEL5_texOff(vec2(0,-1));
res += mat4(-0.024874256923795,-0.025847937911749,0.021098241209984,0.010288225486875,-0.033821098506451,0.018174504861236,0.055782027542591,0.004647582769394,0.053463712334633,-0.054563716053963,0.022875653579831,-0.038444325327873,0.005551389884204,0.004726089537144,0.029855934903026,0.040972594171762) * MODEL5_texOff(vec2(0,0));
res += mat4(0.003634531982243,-0.002983723534271,0.000843346118927,0.010658152401447,-0.006094917189330,-0.039801377803087,-0.007196497637779,0.028542475774884,-0.027187447994947,0.003267275635153,-0.018091635778546,0.010641172528267,-0.003606013488024,-0.004343963693827,-0.003391490550712,0.004955484997481) * MODEL5_texOff(vec2(0,1));
res += mat4(-0.006874073296785,-0.007629921659827,0.012070104479790,0.002134539885446,-0.003743363544345,-0.000199361413252,0.003025735961273,-0.003024041419849,0.002260676817968,-0.001340094371699,0.000377904216293,0.009360191412270,-0.006804532371461,-0.004524303600192,-0.015208234079182,-0.010094179771841) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.013127111829817,0.008834879845381,-0.008369524963200,0.007685475982726,0.026135843247175,0.006517107132822,-0.031637620180845,-0.006115776021034,-0.002416193485260,-0.001319496310316,0.028563933447003,-0.020909762009978,-0.000997070805170,-0.003614181419834,-0.003102866932750,-0.005559950135648) * MODEL5_texOff(vec2(1,0));
res += mat4(-0.001470314105973,0.004024531692266,0.001529182307422,-0.006608352996409,-0.001735727419145,0.016255168244243,0.012769558466971,-0.007640871219337,0.001308678067289,-0.002952277660370,-0.011042823083699,-0.005186916328967,0.001258063362911,0.003137149149552,0.001090802601539,-0.001090010977350) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.001137205050327,0.000555041769985,-0.003221335355192,0.004856296349317,0.007372510153800,-0.012050306424499,0.002252582693473,0.002026013564318,0.008231979794800,0.001877416856587,0.008663790300488,-0.001668404089287,0.002701504155993,-0.003679744666442,-0.001713153789751,-0.005160258151591) * MODEL6_texOff(vec2(-1,-1));
res += mat4(0.010126523673534,0.004521889146417,-0.024006756022573,-0.021052695810795,-0.018534736707807,0.011824071407318,-0.001129904645495,-0.002700598677620,0.009576362557709,0.012727054767311,0.008087151683867,0.015913886949420,-0.014251378364861,0.021997962146997,-0.002040858380497,-0.001324694720097) * MODEL6_texOff(vec2(-1,0));
res += mat4(-0.000710083288141,0.005107648205012,-0.002377431141213,-0.013593193143606,0.008916859515011,-0.002570884535089,0.000283722853055,0.002621897961944,0.000903180392925,0.004378992132843,-0.000102328165667,0.001939702196978,0.019326386973262,-0.022731309756637,0.006358924321830,0.007986733689904) * MODEL6_texOff(vec2(-1,1));
res += mat4(-0.003231015987694,0.000309451948851,0.002693319926038,0.001425071153790,-0.000897186400834,-0.017824940383434,0.014593727886677,-0.026858804747462,0.015765465795994,0.003946270793676,-0.024905214086175,0.001506143831648,-0.011766306124628,0.002167827915400,-0.007745226379484,-0.002613720251247) * MODEL6_texOff(vec2(0,-1));
res += mat4(-0.054349180310965,-0.035796236246824,0.038464948534966,0.025301141664386,-0.033072333782911,0.031755968928337,-0.042701426893473,0.038586456328630,0.032585404813290,0.037326496094465,-0.038201414048672,-0.056976415216923,0.019076664000750,-0.009392772801220,0.009035340510309,0.021878173574805) * MODEL6_texOff(vec2(0,0));
res += mat4(-0.006557581480592,-0.029896022751927,0.007312923669815,0.023306438699365,0.022669857367873,-0.006446666549891,0.022423049435019,-0.007495749741793,-0.000622661318630,0.007689840625972,-0.000652457121760,-0.007789598777890,0.001904677483253,0.000140360541991,0.010746441781521,-0.033185679465532) * MODEL6_texOff(vec2(0,1));
res += mat4(0.002388617023826,-0.001691992511041,0.008064306341112,-0.003616893198341,0.004069548100233,0.003366404445842,-0.004990445449948,0.000433460081695,-0.011219117790461,-0.000565844704397,0.003404787508771,-0.000831311452202,-0.000061839542468,-0.000685028848238,-0.000504316645674,0.001969476463273) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.013200583867729,0.007898194715381,0.011305744759738,0.013271004892886,0.002903381129727,-0.000669282802846,-0.005525629967451,0.006347333081067,-0.022553613409400,-0.025958096608520,0.003869163570926,0.010677496902645,0.000134172281832,0.001837297226302,0.003120790002868,-0.003906520083547) * MODEL6_texOff(vec2(1,0));
res += mat4(0.003480153623968,0.011718771420419,0.000452447711723,0.010413853451610,-0.003593920031562,-0.000493517029099,0.005063458345830,-0.004440259654075,0.004617390222847,-0.002298756036907,0.000160283729201,-0.001231744186953,-0.005052879452705,-0.004132364876568,-0.001613790052943,0.002270765602589) * MODEL6_texOff(vec2(1,1));

#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 1.200 * > OUTPUT.h LUMA.h 1.200 * > *
//!WIDTH LUMA.w 2 *
//!HEIGHT LUMA.h 2 *
//!BIND SUBCONV1
//!BIND LANCZOS3
//!DESC [AiUpscale_Fast_2x_LineArt_RT] depth to space

vec4 hook()
{
vec2 fcoord = fract(SUBCONV1_pos * SUBCONV1_size);
vec2 base = SUBCONV1_pos + (vec2(0.5) - fcoord) * SUBCONV1_pt;
ivec2 index = ivec2(fcoord * vec2(2));
vec4 res = SUBCONV1_tex(base);
return vec4(res[index.x * 2 + index.y] + float(LANCZOS3_texOff(0)), 0, 0, 1);
}
